From d3e8d65ee8f734923b32892ca876d6082fbe3202 Mon Sep 17 00:00:00 2001
From: PrimozGodec
Date: Thu, 20 Oct 2022 16:34:39 +0200
Subject: [PATCH] Score Documents - cast bool scores to float
---
orangecontrib/text/widgets/owscoredocuments.py | 2 +-
.../text/widgets/tests/test_owscoredocuments.py | 14 ++++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/orangecontrib/text/widgets/owscoredocuments.py b/orangecontrib/text/widgets/owscoredocuments.py
index 5dffdbf35..f9446422a 100644
--- a/orangecontrib/text/widgets/owscoredocuments.py
+++ b/orangecontrib/text/widgets/owscoredocuments.py
@@ -59,7 +59,7 @@ def _word_appearance(
t = set(t)
res.append([w in t for w in words])
callback((i + 1) / len(tokens))
- return np.array(res)
+ return np.array(res).astype(float)
def _embedding_similarity(
diff --git a/orangecontrib/text/widgets/tests/test_owscoredocuments.py b/orangecontrib/text/widgets/tests/test_owscoredocuments.py
index 3cd726696..acf3e145d 100644
--- a/orangecontrib/text/widgets/tests/test_owscoredocuments.py
+++ b/orangecontrib/text/widgets/tests/test_owscoredocuments.py
@@ -215,6 +215,20 @@ def test_word_appearance(self):
self.wait_until_finished()
self.assertListEqual([x[1] for x in self.widget.model], [1, 1, 1])
+ # test case where all values are 0
+ corpus = self.create_corpus(
+ [
+ "Lorem ipsum dolor sit ipsum, consectetur adipiscing elit.",
+ "Sed eu sollicitudin velit lorem.",
+ ]
+ )
+ self.send_signal(self.widget.Inputs.corpus, corpus)
+ simulate.combobox_activate_item(cb_aggregation, "Min")
+ self.wait_until_finished()
+ scores = [x[1] for x in self.widget.model]
+ self.assertTrue(all(isinstance(s, float) for s in scores))
+ self.assertListEqual(scores, [0, 0])
+
@patch.object(_ServerEmbedder, "embedd_data", new=embedding_mock)
def test_embedding_similarity(self):
corpus = self.create_corpus(