def test_missing_blocks(self): diff = SequenceMatcher(a="abcdefg", b="cefhi") self.assertEqual(diff.ratio(), 1 - 3/(7+5)) self.assertIsInstance(diff.get_matching_blocks(), GeneratorType) blocks = [i for i in diff.get_matching_blocks()] self.assertEqual(len(blocks), 2) self.assertEqual(blocks[0].a.index, 2) self.assertEqual(blocks[0].a.size, 1) self.assertEqual(blocks[0].b.index, 0) self.assertEqual(blocks[0].b.size, 1) self.assertEqual(blocks[1].a.index, 4) self.assertEqual(blocks[1].a.size, 2) self.assertEqual(blocks[1].b.index, 1) self.assertEqual(blocks[1].b.size, 2) self.assertIsInstance(diff.get_mismatching_blocks(), GeneratorType) blocks = [i for i in diff.get_mismatching_blocks()] self.assertEqual(len(blocks), 3) self.assertEqual(blocks[0].a.index, 0) self.assertEqual(blocks[0].a.size, 2) self.assertEqual(blocks[0].b, None) self.assertEqual(blocks[1].a.index, 3) self.assertEqual(blocks[1].a.size, 1) self.assertEqual(blocks[1].b, None) self.assertEqual(blocks[2].a.index, 6) self.assertEqual(blocks[2].a.size, 1) self.assertEqual(blocks[2].b.index, 3) self.assertEqual(blocks[2].b.size, 2)
def test_same_blocks(self): diff = SequenceMatcher(a="abcdef", b="abcdef") self.assertIsInstance(diff.get_matching_blocks(), GeneratorType) blocks = [i for i in diff.get_matching_blocks()] self.assertEqual(len(blocks), 1) self.assertEqual(blocks[0].a.index, 0) self.assertEqual(blocks[0].a.size, 6) self.assertEqual(blocks[0].b.index, 0) self.assertEqual(blocks[0].b.size, 6) self.assertIsInstance(diff.get_mismatching_blocks(), GeneratorType) blocks = [i for i in diff.get_mismatching_blocks()] self.assertEqual(len(blocks), 0)