overlap_coefficient_test.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import unittest
  2. from strsimpy.overlap_coefficient import OverlapCoefficient
  3. class TestOverlapCoefficient(unittest.TestCase):
  4. def test_overlap_coefficient_onestringissubsetofother_return0(self):
  5. sim = OverlapCoefficient(3)
  6. s1, s2 = "eat", "eating"
  7. actual = sim.distance(s1, s2)
  8. print("distance: {:.4}\t between '{}' and '{}'".format(str(actual), s1, s2))
  9. self.assertEqual(0, actual)
  10. def test_overlap_coefficient_onestringissubset_return1(self):
  11. sim = OverlapCoefficient(3)
  12. s1, s2 = "eat", "eating"
  13. actual = sim.similarity(s1, s2)
  14. print("strsim: {:.4}\t between '{}' and '{}'".format(str(actual), s1, s2))
  15. self.assertEqual(1, actual)
  16. def test_overlap_coefficient_onestringissubsetofother_return1(self):
  17. sim = OverlapCoefficient(3)
  18. s1, s2 = "eat", "eating"
  19. actual = sim.similarity(s1, s2)
  20. print("strsim: {:.4}\t between '{}' and '{}'".format(str(actual), s1, s2))
  21. self.assertEqual(1, actual)
  22. def test_overlap_coefficient_halfsimilar_return1(self):
  23. sim = OverlapCoefficient(2)
  24. s1, s2 = "car", "bar"
  25. self.assertEqual(1 / 2, sim.similarity(s1, s2))
  26. self.assertEqual(1 / 2, sim.distance(s1, s2))
  27. if __name__ == "__main__":
  28. unittest.main()