1
|
|
|
from networkx_query.definition import OperatoryArity |
2
|
|
|
|
3
|
|
|
|
4
|
|
|
def test_operator_arity_definition(): |
5
|
|
|
assert OperatoryArity.UNARY.arity == 1 |
6
|
|
|
assert OperatoryArity.BINARY.arity == 2 |
7
|
|
|
assert OperatoryArity.TERNARY.arity == 3 |
8
|
|
|
assert OperatoryArity.NARY.arity == 1 |
9
|
|
|
|
10
|
|
|
|
11
|
|
|
def test_operator_arity_unary_is_compliant(): |
12
|
|
|
t = OperatoryArity.UNARY.is_compliant([]) |
13
|
|
|
assert t == (True, 0) |
14
|
|
|
t = OperatoryArity.UNARY.is_compliant([True]) |
15
|
|
|
assert t == (False, 1) |
16
|
|
|
|
17
|
|
|
|
18
|
|
|
def test_operator_arity_binary_is_compliant(): |
19
|
|
|
t = OperatoryArity.BINARY.is_compliant([]) |
20
|
|
|
assert t == (False, -1) |
21
|
|
|
t = OperatoryArity.BINARY.is_compliant([True]) |
22
|
|
|
assert t == (True, 0) |
23
|
|
|
t = OperatoryArity.BINARY.is_compliant([True, True]) |
24
|
|
|
assert t == (False, 1) |
25
|
|
|
t = OperatoryArity.BINARY.is_compliant([True, True, True]) |
26
|
|
|
assert t == (False, 2) |
27
|
|
|
|
28
|
|
|
|
29
|
|
|
def test_operator_arity_ternary_is_compliant(): |
30
|
|
|
t = OperatoryArity.TERNARY.is_compliant([]) |
31
|
|
|
assert t == (False, -2) |
32
|
|
|
t = OperatoryArity.TERNARY.is_compliant([True]) |
33
|
|
|
assert t == (False, -1) |
34
|
|
|
t = OperatoryArity.TERNARY.is_compliant([True, True]) |
35
|
|
|
assert t == (True, 0) |
36
|
|
|
t = OperatoryArity.TERNARY.is_compliant([True, True, True]) |
37
|
|
|
assert t == (False, 1) |
38
|
|
|
t = OperatoryArity.TERNARY.is_compliant([True, True, True, True]) |
39
|
|
|
assert t == (False, 2) |
40
|
|
|
|
41
|
|
|
|
42
|
|
|
def test_operator_arity_nary_is_compliant(): |
43
|
|
|
t = OperatoryArity.NARY.is_compliant([]) |
44
|
|
|
assert t == (False, -1) |
45
|
|
|
t = OperatoryArity.NARY.is_compliant([True]) |
46
|
|
|
assert t == (True, 0) |
47
|
|
|
t = OperatoryArity.NARY.is_compliant([True, True]) |
48
|
|
|
assert t == (True, 0) |
49
|
|
|
t = OperatoryArity.NARY.is_compliant([True, True, True]) |
50
|
|
|
assert t == (True, 0) |
51
|
|
|
t = OperatoryArity.NARY.is_compliant([True, True, True, True]) |
52
|
|
|
assert t == (True, 0) |
53
|
|
|
|