test_read_incoming.py 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. import unittest
  2. from modelverse_state.main import ModelverseState
  3. class TestReadIncoming(unittest.TestCase):
  4. def setUp(self):
  5. self.mvs = ModelverseState()
  6. def test_read_incoming_node_none(self):
  7. b = self.mvs.create_node()
  8. assert b != None
  9. l = self.mvs.read_incoming(b)
  10. assert l != None
  11. assert set(l) == set([])
  12. def test_read_incoming_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_incoming(a)
  20. assert l != None
  21. assert set(l) == set([])
  22. l = self.mvs.read_incoming(b)
  23. assert l != None
  24. assert set(l) == set([c])
  25. def test_read_incoming_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_incoming(a)
  37. assert l != None
  38. assert set(l) == set([])
  39. l = self.mvs.read_incoming(b)
  40. assert l != None
  41. assert set(l) == set([c, d, e])
  42. def test_read_incoming_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_incoming(a)
  56. assert l != None
  57. assert set(l) == set([])
  58. l = self.mvs.read_incoming(b)
  59. assert l != None
  60. assert set(l) == set([c, d, e])
  61. l = self.mvs.read_incoming(f)
  62. assert l != None
  63. assert set(l) == set([])
  64. def test_read_incoming_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_incoming(c)
  72. assert l != None
  73. assert set(l) == set([])
  74. def test_read_incoming_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. e = self.mvs.create_edge(a, c)
  80. assert a != None
  81. assert b != None
  82. assert c != None
  83. assert d != None
  84. assert e != None
  85. l = self.mvs.read_incoming(c)
  86. assert l != None
  87. assert set(l) == set([e])
  88. l = self.mvs.read_incoming(d)
  89. assert l != None
  90. assert set(l) == set([])
  91. l = self.mvs.read_incoming(e)
  92. assert l != None
  93. assert set(l) == set([])
  94. def test_read_incoming_edge_multi(self):
  95. a = self.mvs.create_node()
  96. b = self.mvs.create_node()
  97. c = self.mvs.create_edge(a, b)
  98. d = self.mvs.create_edge(a, c)
  99. e = self.mvs.create_edge(b, c)
  100. f = self.mvs.create_edge(d, c)
  101. assert a != None
  102. assert b != None
  103. assert c != None
  104. assert d != None
  105. assert e != None
  106. assert f != None
  107. l = self.mvs.read_incoming(b)
  108. assert l != None
  109. assert set(l) == set([c])
  110. l = self.mvs.read_incoming(c)
  111. assert l != None
  112. assert set(l) == set([d, e, f])
  113. l = self.mvs.read_incoming(d)
  114. assert l != None
  115. assert set(l) == set([])
  116. l = self.mvs.read_incoming(e)
  117. assert l != None
  118. assert set(l) == set([])
  119. l = self.mvs.read_incoming(f)
  120. assert l != None
  121. assert set(l) == set([])
  122. def test_read_incoming_nodevalue_none(self):
  123. b = self.mvs.create_nodevalue(1)
  124. assert b != None
  125. l = self.mvs.read_incoming(b)
  126. assert l != None
  127. assert set(l) == set([])
  128. def test_read_incoming_nodevalue_one(self):
  129. a = self.mvs.create_nodevalue(1)
  130. b = self.mvs.create_node()
  131. c = self.mvs.create_edge(b, a)
  132. assert a != None
  133. assert b != None
  134. assert c != None
  135. l = self.mvs.read_incoming(a)
  136. assert l != None
  137. assert set(l) == set([c])
  138. l = self.mvs.read_incoming(b)
  139. assert l != None
  140. assert set(l) == set([])
  141. def test_read_incoming_nodevalue_multi(self):
  142. a = self.mvs.create_nodevalue(1)
  143. b = self.mvs.create_node()
  144. c = self.mvs.create_edge(b, a)
  145. d = self.mvs.create_edge(b, a)
  146. e = self.mvs.create_edge(b, a)
  147. assert a != None
  148. assert b != None
  149. assert c != None
  150. assert d != None
  151. assert e != None
  152. l = self.mvs.read_incoming(a)
  153. assert l != None
  154. assert set(l) == set([c, d, e])
  155. l = self.mvs.read_incoming(b)
  156. assert l != None
  157. assert set(l) == set([])
  158. def test_read_incoming_nodevalue_multi_others_unaffected(self):
  159. a = self.mvs.create_nodevalue(1)
  160. b = self.mvs.create_node()
  161. c = self.mvs.create_edge(b, a)
  162. d = self.mvs.create_edge(b, a)
  163. e = self.mvs.create_edge(b, a)
  164. assert a != None
  165. assert b != None
  166. assert c != None
  167. assert d != None
  168. assert e != None
  169. f = self.mvs.create_nodevalue(1)
  170. assert f != None
  171. l = self.mvs.read_incoming(a)
  172. assert l != None
  173. assert set(l) == set([c, d, e])
  174. l = self.mvs.read_incoming(b)
  175. assert l != None
  176. assert set(l) == set([])
  177. l = self.mvs.read_incoming(f)
  178. assert l != None
  179. assert set(l) == set([])
  180. def test_read_incoming_node_deleted(self):
  181. b = self.mvs.create_node()
  182. assert b != None
  183. n = self.mvs.delete_node(b)
  184. assert n == None
  185. l = self.mvs.read_incoming(b)
  186. assert l == None
  187. def test_read_incoming_nodevalue_deleted(self):
  188. b = self.mvs.create_nodevalue(1)
  189. assert b != None
  190. n = self.mvs.delete_node(b)
  191. assert n == None
  192. l = self.mvs.read_incoming(b)
  193. assert l == None
  194. def test_read_incoming_edge_deleted(self):
  195. a = self.mvs.create_node()
  196. b = self.mvs.create_node()
  197. c = self.mvs.create_edge(a, b)
  198. assert a != None
  199. assert b != None
  200. assert c != None
  201. n = self.mvs.delete_edge(c)
  202. assert n == None
  203. l = self.mvs.read_incoming(c)
  204. assert l == None