예제 #1
0
def test_docnetdb_search_return_type(tmp_path):
    """Test if the DocNetDB search returns a generator."""
    db = DocNetDB(tmp_path / "db.db")

    def false_func(x):
        return False

    result = db.search(false_func)
    assert isinstance(result, Generator) is True
예제 #2
0
def test_docnetdb_search_keyerror_autocatch(tmp_path):
    """Test if the DocNetDB search catches KeyError automatically."""
    db = DocNetDB(tmp_path / "db.db")
    v1 = Vertex({"special_element": "WOW !"})
    v2 = Vertex()
    db.insert(v1)
    db.insert(v2)

    def find_special_element(vertex):
        return vertex["special_element"] == "WOW !"

    assert list(db.search(find_special_element)) == [v1]
예제 #3
0
def test_docnetdb_search(tmp_path):
    """Test if the DocNetDB search returns the right vertices."""
    db = DocNetDB(tmp_path / "db.db")
    v1, v2, v3 = Vertex(), Vertex(), Vertex()
    for vertex in v1, v2, v3:
        db.insert(vertex)

    def find_the_second(vertex):
        return vertex.place == 2

    result = db.search(find_the_second)
    assert list(result) == [v2]