luozhouyang / python-string-similarity

A library implementing different string similarity and distance measures using Python.
MIT License
992 stars 127 forks source link

Cosine has divide by zero bug #26

Open dave31415 opened 3 years ago

dave31415 commented 3 years ago

`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

dave31415 commented 3 years ago

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