def test_palindromes(self): input_data = 'q' * 5 expected = 10 print(manacher_util.manacher(input_data)) self.assertEqual(manacher_util.get_palindrome_number(input_data), expected)
def timed_run(string): start = time.time() manacher_util.manacher(string) return time.time() - start
def test_no_overlap(self): input_data = 'aapmm' expected = [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0] self.assertEqual(manacher_util.manacher(input_data), expected)
def test_no_palindromes(self): input_data = 'abcdefghijklmonp' expected = [0 for _ in range(len(input_data) * 2 + 1)] self.assertEqual(manacher_util.manacher(input_data), expected)
def test_same_char(self): input_data = 'a' * 5 expected = [0, 0, 1, 1, 2, 2, 2, 1, 1, 0, 0] self.assertEqual(manacher_util.manacher(input_data), expected)