def test_inverted_index_can_dump_load_index(tmpdir): datapath = tmpdir.join("dataset.txt") datapath.write(DATASET_SMALL_STR) documents = load_documents(datapath) inverted_index = build_inverted_index(documents) tmp_fio = tmpdir.join('test.dump') inverted_index.dump(StructStoragePolicy(), tmp_fio) loaded_index = inverted_index.load(StructStoragePolicy(), tmp_fio) assert inverted_index._index == loaded_index._index, "File was not created"
def test_callback_query_list(tiny_dataset_fio, tmpdir, capsys, query, answer): documents = load_documents(tiny_dataset_fio) inverted_index = build_inverted_index(documents) tmp_fio = tmpdir.join('test.dump') inverted_index.dump(StructStoragePolicy(), tmp_fio) arguments = Namespace(query=query, index_path=tmp_fio) callback_query(arguments) captured = capsys.readouterr() if captured.out == "\n": query_ans = set() else: query_ans = set(int(var) for var in captured.out.rstrip().split(",")) assert query_ans == answer, "Wrong answer"
def test_callback_query_utf8(tiny_dataset_fio, tmpdir, capsys, query, answer): documents = load_documents(tiny_dataset_fio) inverted_index = build_inverted_index(documents) tmp_fio = tmpdir.join('test.dump') inverted_index.dump(StructStoragePolicy(), tmp_fio) tmp_file = tmpdir.join('test.utf8') with open(tmp_file, "w", encoding="utf8") as file: file.write(" ".join(query) + "\n") arguments = Namespace(query=[], query_file=open(tmp_file, "r", encoding="utf8"), index_path=tmp_fio) callback_query(arguments) captured = capsys.readouterr() if captured.out == "\n": query_ans = set() else: query_ans = set(int(var) for var in captured.out.rstrip().split(",")) assert query_ans == answer, "Wrong answer"
def test_can_run_build_index(tmpdir, dataset): datapath = tmpdir.join("dataset.txt") datapath.write(dataset) documents = load_documents(datapath) build_inverted_index(documents)
def test_inverted_index_can_dump_index(tiny_dataset_fio, tmpdir): documents = load_documents(tiny_dataset_fio) inverted_index = build_inverted_index(documents) tmp_fio = tmpdir.join('test.dump') inverted_index.dump(StructStoragePolicy(), tmp_fio) assert os.path.isfile(tmp_fio), "File was not created"
def test_query_return_right_answer(tiny_dataset_fio, query, answer): documents = load_documents(tiny_dataset_fio) inverted_index = build_inverted_index(documents) assert sorted(answer) == sorted(inverted_index.query(query))
def test_can_build_index_do_correct(tiny_dataset_fio): documents = load_documents(tiny_dataset_fio) inverted_index = build_inverted_index(documents) assert inverted_index._index == ETALON_TINY_INDEX, "Wrong build for inverted index"