summaryrefslogtreecommitdiff
path: root/tests/test_graph_utils/test_node.py
blob: faf8ab6458182b00ffb0d79228f8d0a7b11e2476 (plain)
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
import pytest

from redis.commands.graph import node


@pytest.fixture
def fixture():
    no_args = node.Node()
    no_props = node.Node(node_id=1, alias="alias", label="l")
    props_only = node.Node(properties={"a": "a", "b": 10})
    no_label = node.Node(node_id=1, alias="alias", properties={"a": "a"})
    multi_label = node.Node(node_id=1, alias="alias", label=["l", "ll"])
    return no_args, no_props, props_only, no_label, multi_label


@pytest.mark.redismod
def test_toString(fixture):
    no_args, no_props, props_only, no_label, multi_label = fixture
    assert no_args.toString() == ""
    assert no_props.toString() == ""
    assert props_only.toString() == '{a:"a",b:10}'
    assert no_label.toString() == '{a:"a"}'
    assert multi_label.toString() == ""


@pytest.mark.redismod
def test_stringify(fixture):
    no_args, no_props, props_only, no_label, multi_label = fixture
    assert str(no_args) == "()"
    assert str(no_props) == "(alias:l)"
    assert str(props_only) == '({a:"a",b:10})'
    assert str(no_label) == '(alias{a:"a"})'
    assert str(multi_label) == "(alias:l:ll)"


@pytest.mark.redismod
def test_comparision(fixture):
    no_args, no_props, props_only, no_label, multi_label = fixture

    assert node.Node() == node.Node()
    assert node.Node(node_id=1) == node.Node(node_id=1)
    assert node.Node(node_id=1) != node.Node(node_id=2)
    assert node.Node(node_id=1, alias="a") == node.Node(node_id=1, alias="b")
    assert node.Node(node_id=1, alias="a") == node.Node(node_id=1, alias="a")
    assert node.Node(node_id=1, label="a") == node.Node(node_id=1, label="a")
    assert node.Node(node_id=1, label="a") != node.Node(node_id=1, label="b")
    assert node.Node(node_id=1, alias="a", label="l") == node.Node(
        node_id=1, alias="a", label="l"
    )
    assert node.Node(alias="a", label="l") != node.Node(alias="a", label="l1")
    assert node.Node(properties={"a": 10}) == node.Node(properties={"a": 10})
    assert node.Node() != node.Node(properties={"a": 10})