def test_same_elems(self): diff = SequenceMatcher(a="abcdef", b="abcdef") self.assertIsInstance(diff.get_matching_elems(), list) elems = diff.get_matching_elems() self.assertEqual(len(elems), 1) self.assertIsInstance(elems[0].a, tuple) self.assertIsInstance(elems[0].b, tuple) self.assertEqual(elems[0].a, tuple("abcdef")) self.assertEqual(elems[0].b, tuple("abcdef")) self.assertIsInstance(diff.get_matching_elems_useOnce(), GeneratorType) elems = [i for i in diff.get_matching_elems_useOnce()] self.assertEqual(len(elems), 1) # check inner types self.assertIsInstance(elems[0].a, GeneratorType) self.assertIsInstance(elems[0].b, GeneratorType) self.assertIsInstance(diff.get_mismatching_elems(), list) elems = diff.get_mismatching_elems() self.assertEqual(len(elems), 0) self.assertIsInstance(diff.get_mismatching_elems_useOnce(), GeneratorType) elems = [i for i in diff.get_mismatching_elems_useOnce()] self.assertEqual(len(elems), 0)
def test_missing_elems(self): diff = SequenceMatcher(a="abcdefg", b="cefhi") self.assertIsInstance(diff.get_matching_elems(), list) elems = diff.get_matching_elems() self.assertEqual(len(elems), 2) self.assertIsInstance(elems[0].a, tuple) self.assertIsInstance(elems[0].b, tuple) self.assertEqual(elems[0].a, tuple("c")) self.assertEqual(elems[0].b, tuple("c")) self.assertEqual(elems[1].a, tuple("ef")) self.assertEqual(elems[1].b, tuple("ef")) self.assertIsInstance(diff.get_matching_elems_useOnce(), GeneratorType) elems = [i for i in diff.get_matching_elems_useOnce()] self.assertEqual(len(elems), 2) # check inner types self.assertIsInstance(elems[0].a, GeneratorType) self.assertIsInstance(elems[0].b, GeneratorType) self.assertIsInstance(diff.get_mismatching_elems(), list) elems = diff.get_mismatching_elems() print(elems) self.assertEqual(len(elems), 3) self.assertEqual(elems[0].a, tuple("ab")) self.assertEqual(elems[0].b, None) self.assertEqual(elems[1].a, tuple("d")) self.assertEqual(elems[1].b, None) self.assertEqual(elems[2].a, tuple("g")) self.assertEqual(elems[2].b, tuple("hi")) self.assertIsInstance(diff.get_mismatching_elems_useOnce(), GeneratorType) elems = [i for i in diff.get_mismatching_elems_useOnce()] self.assertEqual(len(elems), 3)