def test_lcs_recursive(self): for _ in range(1000): s1 = random_string(10) s2 = random_string(10) # print(s1, s2) # print(lcs_naive(s1, s2)) # print(lcs_recur(s1, s2)) self.assertEqual(lcs_naive(s1, s2), lcs_recur(s1, s2))
def test_lsnr(self): self.assertEqual(lsnr(''), lsnr_naive('')) self.assertEqual(lsnr('a'), lsnr_naive('a')) self.assertEqual(lsnr('abcde'), lsnr_naive('abcde')) self.assertEqual(lsnr('abcdeabc'), lsnr_naive('abcdeabc')) self.assertEqual(lsnr('aabcdebc'), lsnr_naive('aabcdebc')) self.assertEqual(lsnr('ababcdec'), lsnr_naive('ababcdec')) self.assertEqual(lsnr('abcabcde'), lsnr_naive('abcabcde')) self.assertEqual(lsnr('abcdeaxzy'), lsnr_naive('abcdeaxzy')) for _ in range(10000): s = random_string(30) print(s) print(lsnr(s)) self.assertEqual(lsnr(s), lsnr_naive(s))
def test_is_subsequence(self): for _ in range(1000): s1 = random_string(10) print(s1) for sub in subsequence(s1): self.assertEqual(True, is_subsequence(sub, s1))
def test__lcsubst_recur(self): for _ in range(1000): s1 = random_string(10) s2 = random_string(10) print(s1, s2) self.assertEqual(lcsubst_naive(s1, s2), lcsubst_recur(s1, s2))