def test_support_iteration(self): x = ['line1\n', 'line2\n', 'line3\n'] fh = MockableFile('foo.txt', contents=''.join(x)) self.assertListEqual(x, list(fh))
def test_reads_and_writes(self): x = MockableFile('foo.txt', 'w+') x.write('foo') x.seek(0) self.assertEqual(x.read(), 'foo')
def test_support_context_manager(self): with MockableFile('foo.txt', 'w+') as fh: fh.write('foo') fh.seek(0) self.assertEqual(fh.read(), 'foo')
def test_can_set_contents_in_init(self): x = MockableFile('foo.txt', contents='foo') self.assertEqual(x.read(), 'foo')
def test_empty_files_raises_error(self): f1 = MockableFile('foo.txt') f2 = MockableFile('bar.txt') self.assertRaises(AssertionError, self.assertFilesEqual, f1, f2)
def test_lines_not_stripped_not_equal(self): f1 = MockableFile('foo.txt', contents='one\ntwo\nthree') f2 = MockableFile('bar.txt', contents='three\n\ntwo\n\none') self.assertRaises(AssertionError, self.assertFilesEqual, f1, f2)