class MASLsTest(unittest.TestCase): def setUp(self): self.x = SearchEngine() def tearDown(self): pass def test_list_empty(self): result = self.x.merge_and_sort_lists([]) wanted = [] self.assertEqual(list(result), wanted) def test_list_empty2(self): result = self.x.merge_and_sort_lists([[], [], []]) wanted = [] self.assertEqual(list(result), wanted) def test_1_list_int(self): result = self.x.merge_and_sort_lists([[9, 10, 11]]) wanted = [9, 10, 11] self.assertEqual(list(result), wanted) def test_2_list_int(self): result = self.x.merge_and_sort_lists([[1, 2, 3], [9, 10, 11]]) wanted = [1, 2, 3, 9, 10, 11] self.assertEqual(list(result), wanted) def test_3_list_int(self): result = self.x.merge_and_sort_lists([[1, 2, 3], [9, 10, 11], [4, 5, 6]]) wanted = [1, 2, 3, 4, 5, 6, 9, 10, 11] self.assertEqual(list(result), wanted) def test_3_list_int_dif_len(self): result = self.x.merge_and_sort_lists([[1, 2, 3], [9, 10, 11, 12, 13, 14, 15], [4, 5, 6, 7, 8]]) wanted = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] self.assertEqual(list(result), wanted) def test_3_list_int_empty(self): result = self.x.merge_and_sort_lists([[1, 2, 3], [], [4, 5, 6, 7, 8]]) wanted = [1, 2, 3, 4, 5, 6, 7, 8] self.assertEqual(list(result), wanted) def test_1_list_abc(self): result = self.x.merge_and_sort_lists([['c', 'a', 'b']]) wanted = ['c', 'a', 'b'] self.assertEqual(list(result), wanted) def test_3_list_abc_dif_len(self): result = self.x.merge_and_sort_lists([['a', 'b', 'c'], ['d', 'f', 'g', 'h']]) wanted = ['a', 'b', 'c', 'd', 'f', 'g', 'h'] self.assertEqual(list(result), wanted)
class WindowsTest(unittest.TestCase): def setUp(self): self.strr = 'sun window tree apple, juse border films 23 45good' # 01234567890123456789012345678901234567890123456789 # 0 1 2 3 4 self.strr2 = 'Мы тестируем нашу программу для работы с окнами. ' # 01234567890123456789012345678901234567890123456789 # 0 1 2 3 4 self.strr3 = 'Первая строка для тестов.\n' # 01234567890123456789012345678901234567890123456789 # 0 1 2 3 4 self.strr4 = 'Вторая строка для тестов.' # 01234567890123456789012345678901234567890123456789 # 0 1 2 3 4 self.test_file = open('test_window_one.txt', 'w') self.test_file.write(self.strr) self.test_file.close() self.test_file = open('test_window_two.txt', 'w') self.test_file.write(self.strr2) self.test_file.close() self.test_file = open('test_window_three.txt', 'w') self.test_file.write(self.strr3) self.test_file.write(self.strr4) self.test_file.close() self.x = SearchEngine("test_db") self.x.database.update(idealdict) def tearDown(self): del self.x file_list = os.listdir(path=".") for i in file_list: if i == 'test_window_one.txt' or i == 'test_window_two.txt' or i == 'test_window_three.txt': os.remove(i) if i.startswith('test_db.'): os.remove(i) def test_wrong_input_error(self): with self.assertRaises(ValueError): files = ['test_window_one.txt'] win = self.x.multiple_search_lim_gen(3, 0, 1) def test_absent_key(self): result = self.x.multiple_search_lim_gen('zzzz', 0, 1) self.assertEqual(result, {}) def test_empty_string(self): result = self.x.multiple_search_lim_gen('', 0, 1) self.assertIsInstance(result, dict) self.assertEqual(result, {}) def test_get_window_begin(self): result = self.x.multiple_search_lim_gen('sun', 0, 1) t = self.x.merge_and_sort_lists([[Position(0, 3, 0)]]) ideal = {'test_window_one.txt': t} self.assertEqual(list(result['test_window_one.txt']), list(ideal['test_window_one.txt'])) def test_get_window_simple(self): result = self.x.multiple_search_lim_gen('tree', 0, 1) t = self.x.merge_and_sort_lists([[Position(11, 15, 0)]]) ideal = {'test_window_one.txt': t} self.assertEqual(list(result['test_window_one.txt']), list(ideal['test_window_one.txt'])) def test_get_window_end(self): result = self.x.multiple_search_lim_gen('good', 0, 1) t = self.x.merge_and_sort_lists([[Position(46, 50, 0)]]) ideal = {'test_window_one.txt': t} self.assertEqual(list(result['test_window_one.txt']), list(ideal['test_window_one.txt'])) def test_get_window_simple2(self): result = self.x.multiple_search_lim_gen('нашу', 0, 1) t = self.x.merge_and_sort_lists([[Position(13, 17, 0)]]) ideal = {'test_window_two.txt': t} self.assertEqual(list(result['test_window_two.txt']), list(ideal['test_window_two.txt'])) def test_get_window_simple_two_line(self): result = self.x.multiple_search_lim_gen('Вторая', 0, 1) t = self.x.merge_and_sort_lists([[Position(0, 6, 1)]]) ideal = {'test_window_three.txt': t} self.assertEqual(list(result['test_window_three.txt']), list(ideal['test_window_three.txt'])) def test_get_window_two_result(self): result = self.x.multiple_search_lim_gen('тестов', 0, 1) t = self.x.merge_and_sort_lists( [[Position(18, 24, 0), Position(18, 24, 1)]]) ideal = {'test_window_three.txt': t} self.assertEqual(list(result['test_window_three.txt']), list(ideal['test_window_three.txt'])) def test_get_window_two_result3(self): result = self.x.multiple_search_lim_gen('тестов', 0, 1) t = self.x.merge_and_sort_lists( [[Position(18, 24, 0), Position(18, 24, 1)]]) ideal = {'test_window_three.txt': t} self.assertEqual(list(result['test_window_three.txt']), list(ideal['test_window_three.txt'])) def test_get_window_wrong_offset(self): result = self.x.multiple_search_lim_gen('tree', 5, 2) ideal = {} self.assertEqual(result, ideal)