def test_sorensen_tversky_as_set(self): for s1, s2 in self.test_cases: with self.subTest(s1=s1, s2=s2): self.assertAlmostEqual( textdistance.Sorensen(as_set=True).distance(s1, s2), textdistance.Tversky(as_set=True, ks=[.5, .5]).distance(s1, s2), )
def test_jaccard_tversky_as_set(self): for s1, s2 in self.test_cases: with self.subTest(s1=s1, s2=s2): self.assertAlmostEqual( textdistance.Jaccard(as_set=True).distance(s1, s2), textdistance.Tversky(as_set=True, ks=[1, 1]).distance(s1, s2), )
def test_sorensen_tversky(self): for s1, s2 in self.test_cases: with self.subTest(s1=s1, s2=s2): self.assertAlmostEqual( textdistance.sorensen.distance(s1, s2), textdistance.Tversky(ks=[.5, .5]).distance(s1, s2), )
def test_jaccard_tversky(self): for s1, s2 in self.test_cases: with self.subTest(s1=s1, s2=s2): self.assertAlmostEqual( textdistance.jaccard.distance(s1, s2), textdistance.Tversky(ks=[1, 1]).distance(s1, s2), )
def test_common(self): self.assertAlmostEqual(self.alg.similarity('test', 'text'), 3.0 / 5) self.assertAlmostEqual(self.alg.similarity('nelson', 'neilsen'), 5.0 / 8) self.assertAlmostEqual(self.alg.similarity('decide', 'resize'), 3.0 / 9) td = float(textdistance.Tversky(ks=[1, 1]).distance('nelson', 'neilsen')) jd = float(textdistance.jaccard.distance('nelson', 'neilsen')) self.assertAlmostEqual(jd, td)
def test_common(self): self.assertAlmostEqual(self.alg.similarity('test', 'text'), 2.0 * 3 / 8) td = float( textdistance.Tversky(ks=[.5, .5]).distance('nelson', 'neilsen')) sd = float(textdistance.sorensen.distance('nelson', 'neilsen')) self.assertAlmostEqual(sd, td)