123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # -*- coding: utf8 -*-
- import io
- import os
- import shutil
- import tempfile
- pjoin = os.path.join
- from .nbexamples import nb0
- def open_utf8(fname, mode):
- return io.open(fname, mode=mode, encoding='utf-8')
- class NBFormatTest:
- """Mixin for writing notebook format tests"""
- # override with appropriate values in subclasses
- nb0_ref = None
- ext = None
- mod = None
- def setUp(self):
- self.wd = tempfile.mkdtemp()
- def tearDown(self):
- shutil.rmtree(self.wd)
- def assertNBEquals(self, nba, nbb):
- self.assertEqual(nba, nbb)
- def test_writes(self):
- s = self.mod.writes(nb0)
- if self.nb0_ref:
- self.assertEqual(s, self.nb0_ref)
- def test_reads(self):
- s = self.mod.writes(nb0)
- nb = self.mod.reads(s)
- def test_roundtrip(self):
- s = self.mod.writes(nb0)
- self.assertNBEquals(self.mod.reads(s),nb0)
- def test_write_file(self):
- with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'w') as f:
- self.mod.write(nb0, f)
- def test_read_file(self):
- with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'w') as f:
- self.mod.write(nb0, f)
- with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'r') as f:
- nb = self.mod.read(f)
|