def test_average_similarity(): m1 = Matrix([ [0.1, 0.2, 0.3], [0.4, 0.5, 0.6], ]) m2 = Matrix([ [0.1, 0.1, 0.1], [0.4, 0.4, 0.4], ]) # [0] sum min = 0.3, sum max = 0.6, limit = 0.3, res = 0.3 * 0.3 / 0.6 = 0.15 # [1] sum min = 1.2, sum max = 1.5, limit = 0.6, res = 0.6 * 1.2 / 1.5 = 0.48 # avg = 0.315 sim = m1.average_similarity(m2) assert almost_equal(sim, 0.315) m3 = Matrix([ [0.1, 0.2], [0.4, 0.5], ]) with pytest.raises(ValueError): m1.average_similarity(m3) m4 = Matrix([ [0.1, 0.1, 0.1], [0.4, 0.4, 0.4], [0.4, 0.4, 0.4], ]) with pytest.raises(ValueError): m1.average_similarity(m4)