test_create_edge.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. import unittest
  2. from modelverse_state.main import ModelverseState
  3. class TestCreateEdge(unittest.TestCase):
  4. def setUp(self):
  5. self.mvs = ModelverseState()
  6. def test_create_edge_invalid_source(self):
  7. a = -1
  8. b = self.mvs.create_node()
  9. assert b != None
  10. edge = self.mvs.create_edge(a, b)
  11. assert edge == None
  12. def test_create_edge_invalid_target(self):
  13. b = -1
  14. a = self.mvs.create_node()
  15. assert a != None
  16. edge = self.mvs.create_edge(a, b)
  17. assert edge == None
  18. def test_create_edge_invalid_both(self):
  19. a = -1
  20. b = -1
  21. edge = self.mvs.create_edge(a, b)
  22. assert edge == None
  23. def test_create_edge_node_to_node(self):
  24. a = self.mvs.create_node()
  25. assert a != None
  26. b = self.mvs.create_node()
  27. assert b != None
  28. edge = self.mvs.create_edge(a, b)
  29. assert edge != None
  30. assert edge > a
  31. assert edge > b
  32. def test_create_edge_multiple(self):
  33. a = self.mvs.create_node()
  34. assert a != None
  35. b = self.mvs.create_node()
  36. assert b != None
  37. edge1 = self.mvs.create_edge(a, b)
  38. assert edge1 != None
  39. assert edge1 > a
  40. assert edge1 > b
  41. edge2 = self.mvs.create_edge(a, b)
  42. assert edge2 != None
  43. assert edge2 > a
  44. assert edge2 > b
  45. assert edge1 != edge2
  46. def test_create_edge_many(self):
  47. v = set()
  48. for i in range(1000):
  49. a = self.mvs.create_node()
  50. assert a != None
  51. b = self.mvs.create_node()
  52. assert b != None
  53. edge = self.mvs.create_edge(a, b)
  54. assert edge != None
  55. assert edge > a
  56. assert edge > b
  57. v.add(edge)
  58. assert len(v) == 1000
  59. def test_create_edge_edge_to_node(self):
  60. a = self.mvs.create_node()
  61. assert a != None
  62. b = self.mvs.create_node()
  63. assert b != None
  64. edge1 = self.mvs.create_edge(a, b)
  65. assert edge1 != None
  66. assert edge1 > a
  67. assert edge1 > b
  68. edge2 = self.mvs.create_edge(edge1, b)
  69. assert edge2 != None
  70. assert edge2 > edge1
  71. assert edge2 > b
  72. assert edge1 != edge2
  73. def test_create_edge_node_to_edge(self):
  74. a = self.mvs.create_node()
  75. assert a != None
  76. b = self.mvs.create_node()
  77. assert b != None
  78. edge1 = self.mvs.create_edge(a, b)
  79. assert edge1 != None
  80. assert edge1 > a
  81. assert edge1 > b
  82. edge2 = self.mvs.create_edge(a, edge1)
  83. assert edge2 != None
  84. assert edge2 > a
  85. assert edge2 > edge1
  86. assert edge1 != edge2
  87. def test_create_edge_edge_to_edge(self):
  88. a = self.mvs.create_node()
  89. assert a != None
  90. b = self.mvs.create_node()
  91. assert b != None
  92. edge1 = self.mvs.create_edge(a, b)
  93. assert edge1 != None
  94. assert edge1 > a
  95. assert edge1 > b
  96. edge2 = self.mvs.create_edge(a, b)
  97. assert edge2 != None
  98. assert edge2 > a
  99. assert edge2 > b
  100. assert edge1 != edge2
  101. edge3 = self.mvs.create_edge(edge1, edge2)
  102. assert edge3 != None
  103. assert edge3 > edge1
  104. assert edge3 > edge2
  105. def test_create_edge_loop_node(self):
  106. a = self.mvs.create_node()
  107. assert a != None
  108. edge = self.mvs.create_edge(a, a)
  109. assert edge != None
  110. assert edge > a
  111. def test_create_edge_loop_edge(self):
  112. a = self.mvs.create_node()
  113. assert a != None
  114. edge1 = self.mvs.create_edge(a, a)
  115. assert edge1 != None
  116. assert edge1 > a
  117. edge2 = self.mvs.create_edge(edge1, edge1)
  118. assert edge2 != None
  119. assert edge2 > a
  120. assert edge2 > edge1