Ejemplo n.º 1
0
    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"
Ejemplo n.º 2
0
 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()
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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"
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
    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()
Ejemplo n.º 7
0
    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()
Ejemplo n.º 8
0
    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()
Ejemplo n.º 9
0
    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()
Ejemplo n.º 10
0
    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()
Ejemplo n.º 11
0
    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"