コード例 #1
0
ファイル: test_memmap.py プロジェクト: paddlelaw/jina
def test_traverse(tmpdir, mocker):
    dam = DocumentArrayMemmap(tmpdir)
    dam.extend(random_docs(100))
    mock = mocker.Mock()
    for c in dam.traverse_flat(['c']):
        assert c.granularity == 1
        mock()
    mock.assert_called()
コード例 #2
0
def test_match_inclusive_dam(tmpdir, only_id):
    """Call match function, while the other :class:`DocumentArray` is itself
    or have same :class:`Document`.
    """
    # The document array da1 match with itself.
    dam = DocumentArrayMemmap(tmpdir)
    dam.extend([
        Document(embedding=np.array([1, 2, 3])),
        Document(embedding=np.array([1, 0, 1])),
        Document(embedding=np.array([1, 1, 2])),
    ])

    dam.match(dam, only_id=only_id)
    assert len(dam) == 3
    traversed = dam.traverse_flat(traversal_paths=['m', 'mm', 'mmm'])
    assert len(list(traversed)) == 9
    # The document array da2 shares same documents with da1
    da2 = DocumentArray(
        [Document(embedding=np.array([4, 1, 3])), dam[0], dam[1]])
    dam.match(da2, only_id=only_id)
    assert len(da2) == 3
    traversed = dam.traverse_flat(traversal_paths=['m', 'mm', 'mmm'])
    assert len(list(traversed)) == 9
コード例 #3
0
ファイル: test_memmap.py プロジェクト: paddlelaw/jina
def test_traverse_flat_root_itself(tmpdir):
    dam = DocumentArrayMemmap(tmpdir)
    dam.extend([Document() for _ in range(100)])
    res = dam.traverse_flat(['r'])
    assert isinstance(res, DocumentArrayMemmap)
    assert id(res) == id(dam)