def testDreadedUnicode(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze(u"ÄbcdeXabcdeYabcdeZüxxxxxxxxxxxxxxx") dp.order=5 dp.seed=u"Yabcd" for i in range(100): dp.next()
def testNextNext(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("abcdefghijklmnopq") dp.order=5 dp.seed="abcde" self.assertEquals(dp.next(),"f") self.assertEquals(dp.next(),"g")
def testCyclic2(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("asdglkuzcgvhje") dp.order=5 dp.seed="kuzcg" for i in range(100): dp.next()
def testDecreaseOrderContinuity(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("0123456789") dp.order = 5 dp.seed = "01234" self.assertEquals(dp.next(),"5") dp.order = 4 self.assertEquals(dp.next(),"6")
def testBadSeed(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("abcdefghijklmnopq") dp.order=5 try: dp.seed="xxxx" raise unittest.AssertionError except RuntimeError: pass
def testCyclicNext(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("abcdefabcd") dp.order=5 dp.seed="abcde" res="" for i in range(100): res+=dp.next() self.assertEquals(res,"fabcdabcde"*10)
def testRandomNext(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("abcdeXabcdeYabcdeZxxxxxxxxxxxxxxxx") dp.order=5 res = set() for i in range(1000): dp.seed="abcde" res.add(dp.next()) self.assertEquals(len(res),3)
def testChangeOrderReadOrder2(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("0123456789") dp.order = 10 dp.seed = "0123456789" self.assertEquals(dp.next(),"0") dp.order = 3 for i in xrange(7): dp.next() self.assertEquals(dp.order,3)
def testIncreaseOrderContinuity2(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("0123456789") dp.order = 5 dp.seed = "01234" self.assertEquals(dp.next(),"5") dp.order = 10 self.assertEquals(dp.next(),"6") self.assertEquals(dp.next(),"7") self.assertEquals(dp.next(),"8") self.assertEquals(dp.next(),"9") self.assertEquals(dp.next(),"0") self.assertEquals(dp.next(),"1")