test_read_edge.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. import pytest
  2. @pytest.mark.usefixtures("state")
  3. def test_read_edge_node(state):
  4. b = state.create_node()
  5. assert b is not None
  6. s, t = state.read_edge(b)
  7. assert s is None
  8. assert t is None
  9. @pytest.mark.usefixtures("state")
  10. def test_read_edge_no_exists(state):
  11. s, t = state.read_edge(-1)
  12. assert s is None
  13. assert t is None
  14. @pytest.mark.usefixtures("state")
  15. def test_read_edge_nodevalue(state):
  16. b = state.create_nodevalue(1)
  17. assert b is not None
  18. s, t = state.read_edge(b)
  19. assert s is None
  20. assert t is None
  21. @pytest.mark.usefixtures("state")
  22. def test_read_edge_normal(state):
  23. a = state.create_node()
  24. b = state.create_node()
  25. c = state.create_edge(a, b)
  26. assert a is not None
  27. assert b is not None
  28. assert c is not None
  29. s, t = state.read_edge(c)
  30. assert s == a
  31. assert t == b
  32. @pytest.mark.usefixtures("state")
  33. def test_read_edge_edge_to_edge(state):
  34. a = state.create_node()
  35. b = state.create_node()
  36. c = state.create_edge(a, b)
  37. d = state.create_edge(a, b)
  38. e = state.create_edge(c, d)
  39. assert a is not None
  40. assert b is not None
  41. assert c is not None
  42. assert d is not None
  43. assert e is not None
  44. s, t = state.read_edge(c)
  45. assert s == a
  46. assert t == b
  47. s, t = state.read_edge(d)
  48. assert s == a
  49. assert t == b
  50. s, t = state.read_edge(e)
  51. assert s == c
  52. assert t == d
  53. @pytest.mark.usefixtures("state")
  54. def test_read_edge_edge_to_node(state):
  55. a = state.create_node()
  56. b = state.create_node()
  57. c = state.create_edge(a, b)
  58. d = state.create_edge(c, b)
  59. assert a is not None
  60. assert b is not None
  61. assert c is not None
  62. assert d is not None
  63. s, t = state.read_edge(c)
  64. assert s == a
  65. assert t == b
  66. s, t = state.read_edge(d)
  67. assert s == c
  68. assert t == b
  69. @pytest.mark.usefixtures("state")
  70. def test_read_edge_node_to_edge(state):
  71. a = state.create_node()
  72. b = state.create_node()
  73. c = state.create_edge(a, b)
  74. d = state.create_edge(b, c)
  75. assert a is not None
  76. assert b is not None
  77. assert c is not None
  78. assert d is not None
  79. s, t = state.read_edge(c)
  80. assert s == a
  81. assert t == b
  82. s, t = state.read_edge(d)
  83. assert s == b
  84. assert t == c
  85. @pytest.mark.usefixtures("state")
  86. def test_read_edge_node_to_nodevalue(state):
  87. a = state.create_node()
  88. b = state.create_nodevalue(1)
  89. c = state.create_edge(a, b)
  90. assert a is not None
  91. assert b is not None
  92. assert c is not None
  93. s, t = state.read_edge(c)
  94. assert s == a
  95. assert t == b
  96. @pytest.mark.usefixtures("state")
  97. def test_read_edge_nodevalue_to_nodevalue(state):
  98. a = state.create_nodevalue(1)
  99. b = state.create_nodevalue(1)
  100. c = state.create_edge(a, b)
  101. assert a is not None
  102. assert b is not None
  103. assert c is not None
  104. s, t = state.read_edge(c)
  105. assert s == a
  106. assert t == b