示例#1
0
def test_lookup_node_in():
    node = LookupNode()
    leaf1 = LookupLeaf(id__in=[0, 1])
    leaf2 = LookupLeaf(id__in=[1, 2])
    node.add_child(leaf1)
    node.add_child(leaf2)
    assert len(node.children) == 2

    mock0 = MockId(0)
    mock1 = MockId(1)
    mock2 = MockId(2)
    assert node.op == 'and'
    assert not node.evaluate(mock0)
    assert node.evaluate(mock1)
    assert not node.evaluate(mock2)

    assert not node.negate
    assert (~node).evaluate(mock0)
    assert not (~node).evaluate(mock1)
    assert (~node).evaluate(mock2)

    node.op = 'or'
    assert node.op == 'or'
    assert node.evaluate(mock0)
    assert node.evaluate(mock1)
    assert node.evaluate(mock2)

    assert (~node).negate
    assert (~node).evaluate(mock0)
    assert not (~node).evaluate(mock1)
    assert (~node).evaluate(mock2)
示例#2
0
def test_lookup_leaf_contains():
    leaf = LookupLeaf(str__contains='jina')
    mock0 = MockStr('hey jina how are you')
    assert leaf.evaluate(mock0)
    mock1 = MockStr('not here')
    assert not leaf.evaluate(mock1)
    mock2 = MockStr('hey jInA how are you')
    assert not leaf.evaluate(mock2)
示例#3
0
def test_lookup_leaf_lte():
    leaf = LookupLeaf(id__lte=1)
    mock0 = MockId(0)
    assert leaf.evaluate(mock0)
    mock1 = MockId(1)
    assert leaf.evaluate(mock1)
    mock2 = MockId(2)
    assert not leaf.evaluate(mock2)
示例#4
0
def test_lookup_leaf_regex():
    leaf = LookupLeaf(str__regex='j*na')
    mock0 = MockStr('hey, juna is good')
    assert leaf.evaluate(mock0)
    mock1 = MockStr('hey, Oinja is the neural search solution')
    assert not leaf.evaluate(mock1)
    mock2 = MockStr('how is JiNa')
    assert not leaf.evaluate(mock2)
示例#5
0
def test_lookup_leaf_iendswith():
    leaf = LookupLeaf(str__iendswith='jina')
    mock0 = MockStr('how is jina')
    assert leaf.evaluate(mock0)
    mock1 = MockStr('hey, jina is the neural search solution')
    assert not leaf.evaluate(mock1)
    mock2 = MockStr('how is JiNa')
    assert leaf.evaluate(mock2)
示例#6
0
 def test_lookup_leaf_contains(self):
     leaf = LookupLeaf(str__contains='jina')
     mock0 = LookupTestCase.MockStr('hey jina how are you')
     self.assertTrue(leaf.evaluate(mock0))
     mock1 = LookupTestCase.MockStr('not here')
     self.assertFalse(leaf.evaluate(mock1))
     mock2 = LookupTestCase.MockStr('hey jInA how are you')
     self.assertFalse(leaf.evaluate(mock2))
示例#7
0
 def test_lookup_leaf_lte(self):
     leaf = LookupLeaf(id__lte=1)
     mock0 = LookupTestCase.MockId(0)
     self.assertTrue(leaf.evaluate(mock0))
     mock1 = LookupTestCase.MockId(1)
     self.assertTrue(leaf.evaluate(mock1))
     mock2 = LookupTestCase.MockId(2)
     self.assertFalse(leaf.evaluate(mock2))
示例#8
0
 def test_lookup_leaf_istartswith(self):
     leaf = LookupLeaf(str__istartswith='jina')
     mock0 = LookupTestCase.MockStr('jina is the neural search solution')
     self.assertTrue(leaf.evaluate(mock0))
     mock1 = LookupTestCase.MockStr(
         'hey, jina is the neural search solution')
     self.assertFalse(leaf.evaluate(mock1))
     mock2 = LookupTestCase.MockStr('JiNa is the neural search solution')
     self.assertTrue(leaf.evaluate(mock2))
示例#9
0
 def test_lookup_leaf_regex(self):
     leaf = LookupLeaf(str__regex='j*na')
     mock0 = LookupTestCase.MockStr('hey, juna is good')
     self.assertTrue(leaf.evaluate(mock0))
     mock1 = LookupTestCase.MockStr(
         'hey, Oinja is the neural search solution')
     self.assertFalse(leaf.evaluate(mock1))
     mock2 = LookupTestCase.MockStr('how is JiNa')
     self.assertFalse(leaf.evaluate(mock2))
示例#10
0
def test_lookup_leaf_exact_document_tags_complex():
    with Document() as doc:
        doc.tags['key1'] = {'key2': 'jina'}
        leaf = LookupLeaf(tags__key1__key2='jina')
        assert leaf.evaluate(doc)
        leaf = LookupLeaf(tags__key1__key2='not_jina')
        assert not leaf.evaluate(doc)
示例#11
0
def test_lookup_leaf_exact_document_tags():
    with Document() as doc:
        doc.tags['label'] = 'jina'
        leaf = LookupLeaf(tags__label='jina')
        assert leaf.evaluate(doc)
        leaf = LookupLeaf(tags__label='not_jina')
        assert not leaf.evaluate(doc)
示例#12
0
def test_lookup_leaf_neq():
    leaf = LookupLeaf(id__neq=1)
    mock1 = MockId(1)
    assert not leaf.evaluate(mock1)
    mock2 = MockId(2)
    assert leaf.evaluate(mock2)
示例#13
0
def test_lookup_leaf_None():
    leaf = LookupLeaf(id=3)
    mock0 = MockId(3)
    assert leaf.evaluate(mock0)
    mock1 = MockId(4)
    assert not leaf.evaluate(mock1)
示例#14
0
def test_lookup_leaf_in():
    leaf = LookupLeaf(id__in=[0, 1, 2, 3])
    mock0 = MockId(3)
    assert leaf.evaluate(mock0)
    mock1 = MockId(4)
    assert not leaf.evaluate(mock1)
示例#15
0
 def test_lookup_leaf_in(self):
     leaf = LookupLeaf(id__in=[0, 1, 2, 3])
     mock0 = LookupTestCase.MockId(3)
     self.assertTrue(leaf.evaluate(mock0))
     mock1 = LookupTestCase.MockId(4)
     self.assertFalse(leaf.evaluate(mock1))