def test_preprocess(self): s = 'rahcteictshtgihls' d, minlen, maxlen = mowords.buildDict('data/testmowords.txt') minlen = 4 # min length is 4 per requirement l = mowords.preprocess(d, s, minlen, maxlen) self.assertTrue('architect' in l[0]) self.assertTrue('architects' in l[0]) self.assertTrue('char' in l[0] or 'arch' in l[0]) print "Lookup:", l
def test_minimizeSkip(self): s = 'rahcteictshtgihls' d, minlen, maxlen = mowords.buildDict('data/testmowords.txt') minlen = 4 # min length is 4 per requirement lookup = mowords.preprocess(d, s, minlen, maxlen) solutions = mowords.minimizeSkip(lookup, s) for i in range(0, len(solutions)): if i == 0 or i == 2 or i == 9 or i == 11: self.assertTrue(solutions[i] != None) if solutions[i] != None: print 'Optimal solution for "', s[i:] , '"->', solutions[i].words, ', skips: ', solutions[i].skips