test_read_outgoing.py 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. import unittest
  2. from modelverse_state.main import ModelverseState
  3. class TestReadOutgoing(unittest.TestCase):
  4. def setUp(self):
  5. self.mvs = ModelverseState()
  6. def test_read_outgoing_node_none(self):
  7. b = self.mvs.create_node()
  8. assert b != None
  9. l = self.mvs.read_outgoing(b)
  10. assert l != None
  11. assert set(l) == set([])
  12. def test_read_outgoing_node_one(self):
  13. a = self.mvs.create_node()
  14. b = self.mvs.create_node()
  15. c = self.mvs.create_edge(a, b)
  16. assert a != None
  17. assert b != None
  18. assert c != None
  19. l = self.mvs.read_outgoing(a)
  20. assert l != None
  21. assert set(l) == set([c])
  22. l = self.mvs.read_outgoing(b)
  23. assert l != None
  24. assert set(l) == set([])
  25. def test_read_outgoing_node_multi(self):
  26. a = self.mvs.create_node()
  27. b = self.mvs.create_node()
  28. c = self.mvs.create_edge(a, b)
  29. d = self.mvs.create_edge(a, b)
  30. e = self.mvs.create_edge(a, b)
  31. assert a != None
  32. assert b != None
  33. assert c != None
  34. assert d != None
  35. assert e != None
  36. l = self.mvs.read_outgoing(a)
  37. assert l != None
  38. assert set(l) == set([c, d, e])
  39. l = self.mvs.read_outgoing(b)
  40. assert l != None
  41. assert set(l) == set([])
  42. def test_read_outgoing_node_multi_others_unaffected(self):
  43. a = self.mvs.create_node()
  44. b = self.mvs.create_node()
  45. c = self.mvs.create_edge(a, b)
  46. d = self.mvs.create_edge(a, b)
  47. e = self.mvs.create_edge(a, b)
  48. assert a != None
  49. assert b != None
  50. assert c != None
  51. assert d != None
  52. assert e != None
  53. f = self.mvs.create_node()
  54. assert f != None
  55. l = self.mvs.read_outgoing(a)
  56. assert l != None
  57. assert set(l) == set([c, d, e])
  58. l = self.mvs.read_outgoing(b)
  59. assert l != None
  60. assert set(l) == set([])
  61. l = self.mvs.read_outgoing(f)
  62. assert l != None
  63. assert set(l) == set([])
  64. def test_read_outgoing_edge_none(self):
  65. a = self.mvs.create_node()
  66. b = self.mvs.create_node()
  67. c = self.mvs.create_edge(a, b)
  68. assert a != None
  69. assert b != None
  70. assert c != None
  71. l = self.mvs.read_outgoing(c)
  72. assert l != None
  73. assert set(l) == set([])
  74. def test_read_outgoing_edge_one(self):
  75. a = self.mvs.create_node()
  76. b = self.mvs.create_node()
  77. c = self.mvs.create_edge(a, b)
  78. d = self.mvs.create_edge(c, a)
  79. assert a != None
  80. assert b != None
  81. assert c != None
  82. assert d != None
  83. l = self.mvs.read_outgoing(c)
  84. assert l != None
  85. assert set(l) == set([d])
  86. l = self.mvs.read_outgoing(d)
  87. assert l != None
  88. assert set(l) == set([])
  89. def test_read_outgoing_edge_multi(self):
  90. a = self.mvs.create_node()
  91. b = self.mvs.create_node()
  92. c = self.mvs.create_edge(a, b)
  93. d = self.mvs.create_edge(c, a)
  94. e = self.mvs.create_edge(c, b)
  95. f = self.mvs.create_edge(c, d)
  96. assert a != None
  97. assert b != None
  98. assert c != None
  99. assert d != None
  100. assert e != None
  101. assert f != None
  102. l = self.mvs.read_outgoing(c)
  103. assert l != None
  104. assert set(l) == set([d, e, f])
  105. l = self.mvs.read_outgoing(d)
  106. assert l != None
  107. assert set(l) == set([])
  108. l = self.mvs.read_outgoing(e)
  109. assert l != None
  110. assert set(l) == set([])
  111. l = self.mvs.read_outgoing(f)
  112. assert l != None
  113. assert set(l) == set([])
  114. def test_read_outgoing_nodevalue_none(self):
  115. b = self.mvs.create_nodevalue(1)
  116. assert b != None
  117. l = self.mvs.read_outgoing(b)
  118. assert l != None
  119. assert set(l) == set([])
  120. def test_read_outgoing_nodevalue_one(self):
  121. a = self.mvs.create_nodevalue(1)
  122. b = self.mvs.create_node()
  123. c = self.mvs.create_edge(a, b)
  124. assert a != None
  125. assert b != None
  126. assert c != None
  127. l = self.mvs.read_outgoing(a)
  128. assert l != None
  129. assert set(l) == set([c])
  130. l = self.mvs.read_outgoing(b)
  131. assert l != None
  132. assert set(l) == set([])
  133. def test_read_outgoing_nodevalue_multi(self):
  134. a = self.mvs.create_nodevalue(1)
  135. b = self.mvs.create_node()
  136. c = self.mvs.create_edge(a, b)
  137. d = self.mvs.create_edge(a, b)
  138. e = self.mvs.create_edge(a, b)
  139. assert a != None
  140. assert b != None
  141. assert c != None
  142. assert d != None
  143. assert e != None
  144. l = self.mvs.read_outgoing(a)
  145. assert l != None
  146. assert set(l) == set([c, d, e])
  147. l = self.mvs.read_outgoing(b)
  148. assert l != None
  149. assert set(l) == set([])
  150. def test_read_outgoing_nodevalue_multi_others_unaffected(self):
  151. a = self.mvs.create_nodevalue(1)
  152. b = self.mvs.create_node()
  153. c = self.mvs.create_edge(a, b)
  154. d = self.mvs.create_edge(a, b)
  155. e = self.mvs.create_edge(a, b)
  156. assert a != None
  157. assert b != None
  158. assert c != None
  159. assert d != None
  160. assert e != None
  161. f = self.mvs.create_nodevalue(1)
  162. assert f != None
  163. l = self.mvs.read_outgoing(a)
  164. assert l != None
  165. assert set(l) == set([c, d, e])
  166. l = self.mvs.read_outgoing(b)
  167. assert l != None
  168. assert set(l) == set([])
  169. l = self.mvs.read_outgoing(f)
  170. assert l != None
  171. assert set(l) == set([])
  172. def test_read_outgoing_node_deleted(self):
  173. b = self.mvs.create_node()
  174. assert b != None
  175. n = self.mvs.delete_node(b)
  176. assert n == None
  177. l = self.mvs.read_outgoing(b)
  178. assert l == None
  179. def test_read_outgoing_nodevalue_deleted(self):
  180. b = self.mvs.create_nodevalue(1)
  181. assert b != None
  182. n = self.mvs.delete_node(b)
  183. assert n == None
  184. l = self.mvs.read_outgoing(b)
  185. assert l == None
  186. def test_read_outgoing_edge_deleted(self):
  187. a = self.mvs.create_node()
  188. b = self.mvs.create_node()
  189. c = self.mvs.create_edge(a, b)
  190. assert a != None
  191. assert b != None
  192. assert c != None
  193. n = self.mvs.delete_edge(c)
  194. assert n == None
  195. l = self.mvs.read_outgoing(c)
  196. assert l == None