-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_rql_or.py
More file actions
81 lines (51 loc) · 1.37 KB
/
test_rql_or.py
File metadata and controls
81 lines (51 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
from decimal import Decimal
import pytest
from mpt_api_client.rql import RQLQuery
def test_or_empty():
r1 = RQLQuery()
r2 = RQLQuery()
r3 = r1 | r2
assert r3 == r1
assert r3 == r2
def test_or_types():
r1 = RQLQuery(id="ID")
r2 = Decimal("32983.328238273")
with pytest.raises(TypeError):
r1 | r2
def test_or_equals():
r1 = RQLQuery(id="ID")
r2 = RQLQuery(id="ID")
r3 = r1 | r2
assert r3 == r1
assert r3 == r2
def test_or_not_equals():
r1 = RQLQuery(id="ID")
r2 = RQLQuery(name="name")
r3 = r1 | r2
assert r3 != r1
assert r3 != r2
assert r3.op == RQLQuery.OP_OR
assert r1 in r3.children
assert r2 in r3.children
def test_or_with_empty():
rql = RQLQuery(id="ID")
assert rql | RQLQuery() == rql
assert RQLQuery() | rql == rql
def test_or_merge(): # noqa: WPS210
r1 = RQLQuery(id="ID")
r2 = RQLQuery(name="name")
r3 = RQLQuery(field="value")
r4 = RQLQuery(field__in=("v1", "v2"))
or1 = r1 | r2
or2 = r3 | r4
or3 = or1 | or2
assert or3.op == RQLQuery.OP_OR
assert len(or3.children) == 4
assert [r1, r2, r3, r4] == or3.children
def test_or_merge_duplicates():
r1 = RQLQuery(id="ID")
r2 = RQLQuery(field="value")
r3 = r1 | r2 | r2
assert len(r3) == 2
assert r3.op == RQLQuery.OP_OR
assert [r1, r2] == r3.children