Spaces:
Sleeping
Sleeping
Download tests/test_core.py from Angshul/Evidence-Graph-Reranker: direct link, hf CLI and curl.
- Browser
- Download file 2.34 kB
-
https://huggingface.co/spaces/Angshul/Evidence-Graph-Reranker/resolve/main/tests/test_core.py
- Command line
-
hf download hf://spaces/Angshul/Evidence-Graph-Reranker/tests/test_core.py
-
curl -L -o test_core.py https://huggingface.co/spaces/Angshul/Evidence-Graph-Reranker/resolve/main/tests/test_core.py
2.34 kB
| import numpy as np | |
| import pytest | |
| from evidence_graph_reranker import (Passage, graph_features, select_with_features, | |
| rank_with_scores, EvidenceGraphReranker) | |
| def test_no_links_no_titles_preserves_score_order(): | |
| docs=["abc", "xyz", "pqr"] | |
| result=rank_with_scores("anything",docs,[0.1,0.9,0.5],k=3) | |
| assert [r['index'] for r in result]==[1,2,0] | |
| def test_chain_complementarity(): | |
| docs=[Passage("Atlas device","Atlas device was released by Novus Labs"), | |
| Passage("Novus Labs","Novus Labs was founded by Mira Chen"), | |
| Passage("Other company","This is irrelevant")] | |
| q='Who founded the company that released the Atlas device?' | |
| link,match=graph_features(q,docs) | |
| assert link[0,1] == 1.0 | |
| selected=select_with_features([.95,.15,.4],link,match,k=2) | |
| assert selected==[0,1] | |
| def test_matches_exact_reference_on_synthetic_random_rows(): | |
| import sys | |
| from pathlib import Path | |
| sys.path.insert(0,'/mnt/data') | |
| try: | |
| from neural_evidence_graph_core import graph_select as reference, graph_arrays as ref_features | |
| except ImportError: | |
| pytest.skip('Reference experiment script is absent; public package is still standalone') | |
| rng=np.random.default_rng(11) | |
| docs=[{'title':'Atlas device','body':'Novus Labs made Atlas device'}, | |
| {'title':'Novus Labs','body':'Novus Labs founded by Mira Chen'}, | |
| {'title':'Mira Chen','body':'A researcher'}] | |
| row={'query':'Who founded Novus Labs that made Atlas device?', 'docs':docs} | |
| link,match=ref_features(row) | |
| L,M=graph_features(row['query'],[Passage(d['title'],d['body']) for d in docs]) | |
| np.testing.assert_array_equal(L,link) | |
| np.testing.assert_array_equal(M,match) | |
| for _ in range(100): | |
| scores=rng.normal(size=3) | |
| assert reference(scores,link,match,3)==select_with_features(scores,L,M,3) | |
| def test_precomputed_scores_do_not_load_models(): | |
| obj=EvidenceGraphReranker() | |
| chosen=obj.rank('A', ['x', 'y'], scores=[1.0,.3], k=1) | |
| assert chosen[0]['index']==0 and obj._model is None | |
| def test_invalid_inputs(): | |
| with pytest.raises(ValueError): rank_with_scores('q',['a','b'],[1],k=2) | |
| with pytest.raises(ValueError): rank_with_scores('q',['a'],[float('nan')],k=1) | |
| with pytest.raises(ValueError): rank_with_scores('q',['a'],[1],k=0) | |