Exemplo n.º 1
0
	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)
Exemplo n.º 2
0
	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)
Exemplo n.º 3
0
	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)
Exemplo n.º 4
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)