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 testPrefer1(self): dp = DissociatedPress("tests/data/abc2.sqlite") preferLogger = logging.getLogger("dissociatedpress.prefer") preferLogger.setLevel(logging.INFO) try: dp.analyze("abababababababab", 0) except Warning: pass try: dp.analyze("acacacacacacacac", 1) except Warning: pass dp.order = 1 Bs = 0 Cs = 0 line = "" dp.prefer = 1 for i in xrange(100): n = dp.next() line += n if n == 'b': Bs += 1 elif n == 'c': Cs += 1 preferLogger.info(line) self.assertTrue(Bs + 10 < Cs + 10)
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")
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 testPrefer1(self): dp = DissociatedPress("tests/data/abc2.sqlite") preferLogger = logging.getLogger("dissociatedpress.prefer") preferLogger.setLevel(logging.INFO) try: dp.analyze("abababababababab",0) except Warning: pass try: dp.analyze("acacacacacacacac",1) except Warning: pass dp.order = 1 Bs = 0 Cs = 0 line = "" dp.prefer = 1 for i in xrange(100): n = dp.next() line += n if n == 'b': Bs += 1 elif n == 'c': Cs += 1 preferLogger.info(line) self.assertTrue(Bs + 10 < Cs + 10)
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 testDefaultFilter(self): input = """abc ab abc ab ab """ res = DissociatedPress.defaultFilter(input) self.assertEquals(res, "abc ab abc ab ab ")
def testDefaultFilter(self): input = """abc ab abc ab ab """ res = DissociatedPress.defaultFilter(input) self.assertEquals(res,"abc ab abc ab ab ")
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 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 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 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 testAnalyze1(self): dp = DissociatedPress("tests/nonexistant") dp.analyze("abcabcabcabc")
def testCreate(self): dp = DissociatedPress("tests/data/test.sqlite") dp.analyze("abcdefghijk")
def testSetOrderEarly(self): dp = DissociatedPress("tests/data/test.sqlite") dp.order = 4
def testAnalyze2(self): dp = DissociatedPress("tests/data/abc.sqlite") self.assertRaises(Warning, dp.analyze, "abcabcabcabc")
def testManyTextIds(self): dp = DissociatedPress("tests/data/abc2.sqlite") preferLogger = logging.getLogger("dissociatedpress.prefer") preferLogger.setLevel(logging.INFO) try: dp.analyze("00abababababababab", 0) except Warning: pass try: dp.analyze("11acacacacacacacac", 1) except Warning: pass try: dp.analyze("22adadadadadadadad", 2) except Warning: pass try: dp.analyze("33aeaeaeaeaeaeaeae", 3) except Warning: pass dp.order = 1 line = "" for i in xrange(100): dp.prefer = i / 5 % 4 preferLogger.info("set prefer: %s" % dp.prefer) n = dp.next() line += n preferLogger.info(line)
def testManyTextIds(self): dp = DissociatedPress("tests/data/abc2.sqlite") preferLogger = logging.getLogger("dissociatedpress.prefer") preferLogger.setLevel(logging.INFO) try: dp.analyze("00abababababababab",0) except Warning: pass try: dp.analyze("11acacacacacacacac",1) except Warning: pass try: dp.analyze("22adadadadadadadad",2) except Warning: pass try: dp.analyze("33aeaeaeaeaeaeaeae",3) except Warning: pass dp.order = 1 line = "" for i in xrange(100): dp.prefer = i / 5 % 4 preferLogger.info("set prefer: %s" % dp.prefer) n = dp.next() line += n preferLogger.info(line)
def NOTtestAnalyzeFile(self): dp = DissociatedPress("tests/data/test.sqlite") contents = file("tests/data/die-linke.txt").read().decode("utf-8") dp.analyze(contents) for i in range(100): dp.next()