Esempio n. 1
0
 def test_tailignored(self):
     c1 = BufClass()
     c1.append("abcde")
     c2 = c1.popleft_new_stringchain(2)
     assert str(c2.copy()) == "ab", (str(c2.copy()),)
     c2.append("f")
     self.failUnlessEqual(str(c2.copy()), "abf")
Esempio n. 2
0
    def test_popleft_new_stringchain(self):
        c = BufClass()
        c.append("ab")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "a")
        self.failUnlessEqual(str(c.copy()), "b")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "b")
        self.failUnlessEqual(str(c.copy()), "")

        c.append("abc")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "a")
        self.failUnlessEqual(str(c.copy()), "bc")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "b")
        self.failUnlessEqual(str(c.copy()), "c")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "c")
        self.failUnlessEqual(str(c.copy()), "")

        c.append("abc")
        s = c.popleft_new_stringchain(2)
        self.failUnlessEqual(str(s), "ab")
        self.failUnlessEqual(str(c.copy()), "c")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "c")
        self.failUnlessEqual(str(c.copy()), "")

        c.append("ab")
        c.append("c")
        s = c.popleft_new_stringchain(2)
        self.failUnlessEqual(str(s), "ab")
        self.failUnlessEqual(str(c.copy()), "c")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "c")
        self.failUnlessEqual(str(c.copy()), "")

        c.append("a")
        c.append("bc")
        s = c.popleft_new_stringchain(2)
        self.failUnlessEqual(str(s), "ab")
        self.failUnlessEqual(str(c.copy()), "c")
        s = c.popleft_new_stringchain(1)
        self.failUnlessEqual(str(s), "c")
        self.failUnlessEqual(str(c.copy()), "")

        c.append("abc")
        s = c.popleft_new_stringchain(4) # We just silently pop them all.
        self.failUnlessEqual(str(s), "abc")
        self.failUnlessEqual(str(c.copy()), "")