def test_080_cross_over_lists_real_comparisons(self): list1 = plates_from_strings( ['BBB111', 'BBB222', 'BBB333', 'EEE444', 'FFF121']) list2 = plates_from_strings( ['AAA121', 'AAA122', 'AAA123', 'BBB111', 'BBB222', 'BBB333']) student_uniques, comparisons = unique_plates(list1, list2) self.assertEqual(comparisons, real_comparisons(PLATE_COMPS))
def test_140_zig_zag_lists2_real_comparisons(self): list1 = plates_from_strings( ['AAA121', 'DDD122', 'FFF123', 'HHH111', 'JJJJ222']) list2 = plates_from_strings( ['BBB111', 'CCC222', 'EEE333', 'GGG444', 'III121']) student_uniques, comparisons = unique_plates(list1, list2) self.assertEqual(comparisons, real_comparisons(PLATE_COMPS))
def test_060_unique_lists_real_comparisons(self): list1 = plates_from_strings( ['AAA111', 'DDD222', 'EEE333', 'EEE444', 'FFF121']) list2 = plates_from_strings( ['BBB111', 'CCC222', 'CCC234', 'FFF111', 'FFF123', 'JJJ234']) student_uniques, comparisons = unique_plates(list1, list2) self.assertEqual(comparisons, real_comparisons(PLATE_COMPS))
def test_040_identical_lists_real_comparisons(self): list1 = plates_from_strings( ['AAA111', 'BBB222', 'CCC333', 'DDD444', 'EEE555']) list2 = plates_from_strings( ['AAA111', 'BBB222', 'CCC333', 'DDD444', 'EEE555']) student_uniques, comparisons = unique_plates(list1, list2) self.assertEqual(comparisons, real_comparisons(PLATE_COMPS))
def test_005_two_item_lists2(self): list1 = plates_from_strings(['AAA112', 'BBB222']) list2 = plates_from_strings(['AAA111', 'BBB222']) student_uniques, comparisons = unique_plates(list1, list2) expected_uniques = plates_from_strings(['AAA111']) expected_comparisons = 5 self.assertEqual(student_uniques, expected_uniques) self.assertEqual(comparisons, expected_comparisons)
def test_100_cross_over_lists_2(self): list1 = plates_from_strings( ['AAA111', 'BBB222', 'CCC333', 'GGG111', 'HHH222']) list2 = plates_from_strings([ 'DDD121', 'EEE122', 'FFF123', 'GGG111', 'HHH222', 'III333', 'JJJ333' ]) student_uniques, comparisons = unique_plates(list1, list2) self.assertEqual(comparisons, real_comparisons(PLATE_COMPS))
def test_150_zig_zag_lists3(self): list1 = plates_from_strings(['AAA121', 'DDD122', 'FFF123', 'HHH111']) list2 = plates_from_strings( ['BBB111', 'CCC222', 'EEE333', 'GGG444', 'III121']) student_uniques, comparisons = unique_plates(list1, list2) expected_uniques = plates_from_strings( ['BBB111', 'CCC222', 'EEE333', 'GGG444', 'III121']) lower_limit, upper_limit = 12, 16 self.assertEqual(student_uniques, expected_uniques) self.assertGreaterEqual(comparisons, lower_limit) self.assertLessEqual(comparisons, upper_limit)
def test_070_cross_over_lists(self): list1 = plates_from_strings( ['BBB111', 'BBB222', 'BBB333', 'EEE444', 'FFF121']) list2 = plates_from_strings( ['AAA121', 'AAA122', 'AAA123', 'BBB111', 'BBB222', 'BBB333']) student_uniques, comparisons = unique_plates(list1, list2) expected_uniques = plates_from_strings(['AAA121', 'AAA122', 'AAA123']) lower_limit, upper_limit = 9, 12 self.assertEqual(student_uniques, expected_uniques) self.assertGreaterEqual(comparisons, lower_limit) self.assertLessEqual(comparisons, upper_limit)
def test_030_identical_lists(self): list1 = plates_from_strings( ['AAA111', 'BBB222', 'CCC333', 'DDD444', 'EEE555']) list2 = plates_from_strings( ['AAA111', 'BBB222', 'CCC333', 'DDD444', 'EEE555']) student_uniques, comparisons = unique_plates(list1, list2) expected_uniques = [] lower_limit, upper_limit = 5, 10 self.assertEqual(student_uniques, student_uniques) self.assertGreaterEqual(comparisons, lower_limit) self.assertLessEqual(comparisons, upper_limit)
def test_050_unique_lists(self): list1 = plates_from_strings( ['AAA111', 'DDD222', 'EEE333', 'EEE444', 'FFF121']) list2 = plates_from_strings( ['BBB111', 'CCC222', 'CCC234', 'FFF111', 'FFF123', 'JJJ234']) student_uniques, comparisons = unique_plates(list1, list2) expected_uniques = plates_from_strings( ['BBB111', 'CCC222', 'CCC234', 'FFF111', 'FFF123', 'JJJ234']) lower_limit, upper_limit = 13, 18 self.assertEqual(student_uniques, expected_uniques) self.assertGreaterEqual(comparisons, lower_limit) self.assertLessEqual(comparisons, upper_limit)
def test_090_cross_over_lists_2(self): list1 = plates_from_strings( ['AAA111', 'BBB222', 'CCC333', 'GGG111', 'HHH222']) list2 = plates_from_strings([ 'DDD121', 'EEE122', 'FFF123', 'GGG111', 'HHH222', 'III333', 'JJJ333' ]) #list1 = simple_counter_list(['d', 'e', 'f', 'g', 'h', 'i', 'j']) #list2 = simple_counter_list(['a', 'b', 'c', 'g', 'h']) student_uniques, comparisons = unique_plates(list1, list2) expected_uniques = plates_from_strings( ['DDD121', 'EEE122', 'FFF123', 'III333', 'JJJ333']) lower_limit, upper_limit = 13, 14 self.assertEqual(student_uniques, expected_uniques) self.assertGreaterEqual(comparisons, lower_limit) self.assertLessEqual(comparisons, upper_limit)
def run_from_strings_example(): """ Example usage plates_from_string function """ list1 = plates_from_strings([ 'CUJ035', 'DRA227', 'EEQ923', 'EFD633', 'GPS402', 'HWE173', 'KCX418', 'MQC884', 'NBN256', 'ZDI284' ]) list2 = plates_from_strings([ 'EFD635', 'GPS402', 'HWE175', 'KCX418', 'MSZ294', 'NBN256', 'NUD891', 'YES436', 'ZDI284', 'ZXZ369' ]) uniques, comparisons = unique_plates(list1, list2) print('String example:') print('list1:', list1) print('list2:', list2) print('Uniques:', uniques) print('Used {} comparisons'.format(comparisons)) print('\n' * 4)
def test_002_two_word_lists1_real_comparisons(self): list1 = plates_from_strings(['AAA111', 'BBB111']) list2 = plates_from_strings(['AAA112', 'BBB111']) student_uniques, comparisons = unique_plates(list1, list2) self.assertEqual(comparisons, real_comparisons(PLATE_COMPS))