def test_ior_branchingTree(self): t2 = "cba" t3 = "cde" tree2 = tokentree.TokenTrie(t2) tree2 |= tokentree.TokenTrie(t3) self.assertTrue(t2 in tree2, "Testing t2: <{}>".format(t2)) self.assertTrue(t3 in tree2, "Testing t3: <{}>".format(t3))
def test_ior_empty(self): t2 = "cba" t3 = "cde" tree1 = tokentree.TokenTrie() tree1 |= tokentree.TokenTrie(t2) tree1 |= tokentree.TokenTrie(t3) self.assertTrue(t2 in tree1, "Testing t2: <{}>".format(t2)) self.assertTrue(t3 in tree1, "Testing t3: <{}>".format(t3))
def test_ior_substringTreeDoesNotChangeOther(self): substrLen = 3 tree = tokentree.TokenTrie(self.alpha6) tree2 = tokentree.TokenTrie(self.alpha6[:substrLen]) tree |= tree2 self.assertFalse(self.alpha6 in tree2) self.assertTrue(self.alpha6[:substrLen] in tree2) self.assertFalse(self.alpha6[:substrLen + 1] in tree2) self.assertFalse(self.alpha6[:substrLen - 1] in tree2)
def test_iadd_branchingTreeAppended(self): t1 = "abc" t2 = "cba" t3 = "cde" tree1 = tokentree.TokenTrie(t1) tree2 = tokentree.TokenTrie(t2) tree2 |= tokentree.TokenTrie(t3) # Union merges trees tree1 += tree2 # Append concatenates token sequences token1 = t1 + t2 token2 = t1 + t3 self.assertTrue(token1 in tree1, "Testing <{}>".format(token1)) self.assertTrue(token2 in tree1, "Testing <{}>".format(token2)) self.assertFalse(t1 in tree1, "Testing t1<{}>".format(t1)) # t1 should no longer be a valid token
def test_ior_substring(self): substrLen = 4 tree = tokentree.TokenTrie(self.alpha6) tree |= self.alpha6[:substrLen] self.assertTrue(self.alpha6 in tree) self.assertTrue(self.alpha6[:substrLen] in tree) self.assertFalse(self.alpha6[:substrLen + 1] in tree) self.assertFalse(self.alpha6[:substrLen - 1] in tree)
def test_insert_branchingTree_self(self): ts = ["abc", "cba", "cde"] tree = tokentree.TokenTrie() for t in ts: tree.insert(t) for t in ts: self.assertTrue(t in tree, t)
def test_iadd_branchingTree_self(self): ts = ["abc", "cba", "cde"] tree = tokentree.TokenTrie() for t in ts: tree.insert(t) tree += tree for t1 in ts: self.assertFalse(t in tree, t) for t2 in ts: token = ''.join([t1, t2]) self.assertTrue(token in tree, token)
def test_len_emptyTree(self): tree = tokentree.TokenTrie() self.assertEqual(1, len(tree))
def test_contains_emptyToken(self): tree = tokentree.TokenTrie("") self.assertTrue("" in tree)
def test_contains_alpha6_tooShort(self): tree = tokentree.TokenTrie(self.alpha6) self.assertFalse(self.alpha6[:-1] in tree)
def test_contains_alpha6_tooLong(self): tree = tokentree.TokenTrie(self.alpha6) self.assertFalse(self.alpha6 + "a" in tree)
def test_contains_alpha6(self): tree = tokentree.TokenTrie(self.alpha6) self.assertTrue(self.alpha6 in tree)
def test_len_alpha6(self): tree = tokentree.TokenTrie(self.alpha6) self.assertEqual(1 + len(self.alpha6), len(tree))
def test_add_self(self): tree = tokentree.TokenTrie(self.alpha6) tree += tree self.assertFalse(self.alpha6 in tree) self.assertTrue(self.alpha6 * 2 in tree)
def test_add_substring(self): substrLen = 4 tree = tokentree.TokenTrie(self.alpha6) tree.insert(self.alpha6[:substrLen]) self.assertTrue(self.alpha6 in tree) self.assertTrue(self.alpha6[:substrLen] in tree)