test_create_edge.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. import pytest
  2. @pytest.mark.usefixtures("state")
  3. def test_create_edge_invalid_source(state):
  4. a = -1
  5. b = state.create_node()
  6. assert b is not None
  7. e = state.create_edge(a, b)
  8. assert e is None
  9. @pytest.mark.usefixtures("state")
  10. def test_create_edge_invalid_target(state):
  11. b = -1
  12. a = state.create_node()
  13. assert a is not None
  14. e = state.create_edge(a, b)
  15. assert e is None
  16. @pytest.mark.usefixtures("state")
  17. def test_create_edge_invalid_both(state):
  18. a = -1
  19. b = -1
  20. e = state.create_edge(a, b)
  21. assert e is None
  22. @pytest.mark.usefixtures("state")
  23. def test_create_edge_node_to_node(state):
  24. a = state.create_node()
  25. assert a is not None
  26. b = state.create_node()
  27. assert b is not None
  28. edge = state.create_edge(a, b)
  29. assert edge is not None
  30. @pytest.mark.usefixtures("state")
  31. def test_create_edge_multiple(state):
  32. a = state.create_node()
  33. assert a is not None
  34. b = state.create_node()
  35. assert b is not None
  36. edge1 = state.create_edge(a, b)
  37. assert edge1 is not None
  38. edge2 = state.create_edge(a, b)
  39. assert edge2 is not None
  40. assert edge1 != edge2
  41. @pytest.mark.usefixtures("state")
  42. def test_create_edge_many(state):
  43. v = set()
  44. for i in range(1000):
  45. a = state.create_node()
  46. assert a is not None
  47. b = state.create_node()
  48. assert b is not None
  49. edge = state.create_edge(a, b)
  50. assert edge is not None
  51. v.add(edge)
  52. assert len(v) == 1000
  53. @pytest.mark.usefixtures("state")
  54. def test_create_edge_edge_to_node(state):
  55. a = state.create_node()
  56. assert a is not None
  57. b = state.create_node()
  58. assert b is not None
  59. edge1 = state.create_edge(a, b)
  60. assert edge1 is not None
  61. edge2 = state.create_edge(edge1, b)
  62. assert edge2 is not None
  63. assert edge1 != edge2
  64. @pytest.mark.usefixtures("state")
  65. def test_create_edge_node_to_edge(state):
  66. a = state.create_node()
  67. assert a is not None
  68. b = state.create_node()
  69. assert b is not None
  70. edge1 = state.create_edge(a, b)
  71. assert edge1 is not None
  72. edge2 = state.create_edge(a, edge1)
  73. assert edge2 is not None
  74. assert edge1 != edge2
  75. @pytest.mark.usefixtures("state")
  76. def test_create_edge_edge_to_edge(state):
  77. a = state.create_node()
  78. assert a is not None
  79. b = state.create_node()
  80. assert b is not None
  81. edge1 = state.create_edge(a, b)
  82. assert edge1 is not None
  83. edge2 = state.create_edge(a, b)
  84. assert edge2 is not None
  85. assert edge1 != edge2
  86. edge3 = state.create_edge(edge1, edge2)
  87. assert edge3 is not None
  88. @pytest.mark.usefixtures("state")
  89. def test_create_edge_loop_node(state):
  90. a = state.create_node()
  91. assert a is not None
  92. edge = state.create_edge(a, a)
  93. assert edge is not None
  94. @pytest.mark.usefixtures("state")
  95. def test_create_edge_loop_edge(state):
  96. a = state.create_node()
  97. assert a is not None
  98. edge1 = state.create_edge(a, a)
  99. assert edge1 is not None
  100. edge2 = state.create_edge(edge1, edge1)
  101. assert edge2 is not None