mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-07-31 20:58:29 +00:00

* preserve root_node and add tests * Added if statement to fix failing tests --------- Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com> Co-authored-by: Sebastian Husch Lee <sjrl423@gmail.com>
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
import pytest
|
|
|
|
from haystack.schema import Answer
|
|
from haystack.nodes import JoinAnswers
|
|
|
|
|
|
@pytest.mark.unit
|
|
@pytest.mark.parametrize("join_mode", ["concatenate", "merge"])
|
|
def test_joinanswers(join_mode):
|
|
inputs = [{"answers": [Answer(answer="answer 1", score=0.7)]}, {"answers": [Answer(answer="answer 2", score=0.8)]}]
|
|
|
|
join_answers = JoinAnswers(join_mode=join_mode)
|
|
result, _ = join_answers.run(inputs)
|
|
assert len(result["answers"]) == 2
|
|
assert result["answers"] == sorted(result["answers"], reverse=True)
|
|
|
|
result, _ = join_answers.run(inputs, top_k_join=1)
|
|
assert len(result["answers"]) == 1
|
|
assert result["answers"][0].answer == "answer 2"
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_joinanswers_preserves_root_node():
|
|
# https://github.com/deepset-ai/haystack-private/issues/51
|
|
inputs = [
|
|
{"answers": [Answer(answer="answer 1", score=0.7)], "root_node": "Query"},
|
|
{"answers": [Answer(answer="answer 2", score=0.8)], "root_node": "Query"},
|
|
]
|
|
join_docs = JoinAnswers()
|
|
result, _ = join_docs.run(inputs)
|
|
assert result["root_node"] == "Query"
|