def test_basic_io(self): fp = greenhouse.File(self.fname, 'w') fp.write("this is testing text") fp.close() fp2 = greenhouse.File(self.fname, 'r') text = fp.read() fp2.close() assert text == "this is testing text"
def test_readwrite_mode(self): fp = greenhouse.File(self.fname, 'r+') try: fp.write("this is a test") fp.seek(0) assert fp.read() == "this is a test" finally: fp.close()
def test_writelines(self): lines = ["this\n", "is\n", "a\n", "test\n"] fp = greenhouse.File(self.fname, 'w') try: fp.writelines(lines) finally: fp.close() with open(self.fname) as fp: assert fp.read() == "".join(lines)
def test_append_mode(self): with open(self.fname, 'w') as fp: fp.write("standard file\n") fp = greenhouse.File(self.fname, 'a') try: fp.write("greenhouse") finally: fp.close() with open(self.fname) as fp: assert fp.read() == "standard file\ngreenhouse"
def test_incremental_reads(self): with open(self.fname, 'w') as fp: fp.write("this is a test") fp = greenhouse.File(self.fname) try: assert fp.read(4) == "this" assert fp.read(3) == " is" assert fp.read(2) == " a" assert fp.read(5) == " test" assert fp.read(1) == "" finally: fp.close()
def test_readlines(self): with open(self.fname, 'w') as fp: fp.write("""this is a test""") fp = greenhouse.File(self.fname) try: l = fp.readlines() assert l == ["this\n", "is\n", "a\n", "\n", "test"], l finally: fp.close()
def test_iteration(self): with open(self.fname, 'w') as fp: fp.write("""this is a test""") fp = greenhouse.File(self.fname) try: l = list(fp) assert l == ["this\n", "is\n", "a\n", "\n", "test"], l finally: fp.close()
def test_readline_limit(self): open(self.fname, 'w').close() with open(self.fname, 'w') as stdfp: stdfp.write("""this is a test of a limited readline And this is a second line""") gfp = greenhouse.File(self.fname) try: self.assertEqual(gfp.readline(9), "this is a") self.assertEqual(gfp.readline(), " test of a limited readline\n") finally: gfp.close()
def test_seek_and_tell(self): with open(self.fname, 'w') as fp: fp.write("foo bar spam eggs") fp = greenhouse.File(self.fname) try: assert fp.tell() == 0 fp.seek(4) assert fp.tell() == 4 assert fp.read(3) == "bar" fp.seek(-4, os.SEEK_END) assert fp.tell() == 13 assert fp.read(4) == "eggs" finally: fp.close()
def test_readline(self): open(self.fname, 'w').close() with open(self.fname, 'w') as stdfp: stdfp.write("""this is a test """) gfp = greenhouse.File(self.fname) try: assert gfp.readline() == "this\n" assert gfp.readline() == "is\n" assert gfp.readline() == "a\n" assert gfp.readline() == "\n" assert gfp.readline() == "test\n" finally: gfp.close()
def test_as_context_manager(self): with open(self.fname, 'w') as stdfp: stdfp.write("foo bar spam eggs") with greenhouse.File(self.fname) as gfp: assert gfp.read() == "foo bar spam eggs"