luozhouyang/python-string-similarity

Cosine has divide by zero bug

Opened this issue · 1 comments

`from strsimpy.cosine import Cosine

def test_cosine4_passes_1():
s0 = "0xxs"
s1 = "foo bar"

c_4 = Cosine(4)
c_4.similarity(s0, s1)

def test_cosine4_fails_1():
s0 = " "
s1 = "foo bar"

c_4 = Cosine(4)
c_4.similarity(s0, s1)

def test_cosine4_fails_2():
s0 = "0 s"
s1 = "foo bar"

c_4 = Cosine(4)
c_4.similarity(s0, s1)`

strsimpy version = 0.2.0
platform darwin -- Python 3.8.2, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
profile0 = {}
profile1 = {'foo ': 1, 'oo b': 1, 'o ba': 1, ' bar': 1}
norm_0 = 0.0
norm_1 = 2.0
FAILED test/test_cosine_sim.py::test_cosine4 - ZeroDivisionError: float division by zero

This didn't format correctly. The second failing test has 0, two white-spaces and x for the s0 variable.