test_create_nodevalue.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. import unittest
  2. from modelverse_state.main import ModelverseState
  3. class TestCreateNodeValue(unittest.TestCase):
  4. def setUp(self):
  5. self.mvs = ModelverseState()
  6. def test_create_nodevalue_different_id_simple(self):
  7. id1 = self.mvs.create_nodevalue(1)
  8. id2 = self.mvs.create_nodevalue(1)
  9. assert id1 != None
  10. assert id2 != None
  11. assert id1 != id2
  12. def test_create_nodevalue_read(self):
  13. id1 = self.mvs.create_nodevalue(1)
  14. assert id1 != None
  15. val = self.mvs.read_value(id1)
  16. assert val == 1
  17. def test_create_nodevalue_integer_ib_zero(self):
  18. # Nicely within range
  19. v = set()
  20. size = 0
  21. for i in range(-10, 10):
  22. id1 = self.mvs.create_nodevalue(i)
  23. assert id1 != None
  24. size += 1
  25. v.add(id1)
  26. assert len(v) == size
  27. def test_create_nodevalue_boolean(self):
  28. id1 = self.mvs.create_nodevalue(True)
  29. id2 = self.mvs.create_nodevalue(False)
  30. assert id1 != None
  31. assert id2 != None
  32. assert id1 != id2
  33. def test_create_nodevalue_boolean_same(self):
  34. id1 = self.mvs.create_nodevalue(True)
  35. id2 = self.mvs.create_nodevalue(True)
  36. assert id1 != None
  37. assert id2 != None
  38. assert id1 != id2
  39. def test_create_nodevalue_float_keeps_type(self):
  40. id1 = self.mvs.create_nodevalue(0.0)
  41. assert id1 != None
  42. v = self.mvs.read_value(id1)
  43. assert type(v) == float
  44. assert v == 0.0
  45. def test_create_nodevalue_string_empty(self):
  46. id1 = self.mvs.create_nodevalue("")
  47. assert id1 != None
  48. v = self.mvs.read_value(id1)
  49. assert type(v) == str
  50. assert v == ""
  51. def test_create_nodevalue_string_normal(self):
  52. id1 = self.mvs.create_nodevalue("ABC")
  53. assert id1 != None
  54. v = self.mvs.read_value(id1)
  55. assert type(v) == str
  56. assert v == "ABC"
  57. def test_create_nodevalue_string_not_parsed(self):
  58. id1 = self.mvs.create_nodevalue("1")
  59. assert id1 != None
  60. v = self.mvs.read_value(id1)
  61. assert type(v) == str
  62. assert v == "1"
  63. id1 = self.mvs.create_nodevalue("1.0")
  64. assert id1 != None
  65. v = self.mvs.read_value(id1)
  66. assert type(v) == str
  67. assert v == "1.0"
  68. id1 = self.mvs.create_nodevalue("-1.0")
  69. assert id1 != None
  70. v = self.mvs.read_value(id1)
  71. assert type(v) == str
  72. assert v == "-1.0"
  73. id1 = self.mvs.create_nodevalue("True")
  74. assert id1 != None
  75. v = self.mvs.read_value(id1)
  76. assert type(v) == str
  77. assert v == "True"
  78. def test_create_nodevalue_junk(self):
  79. class Unknown(object):
  80. pass
  81. id1 = self.mvs.create_nodevalue(Unknown())
  82. assert id1 == None
  83. v = self.mvs.read_value(id1)
  84. assert v == None
  85. def test_create_nodevalue_action_if(self):
  86. id1 = self.mvs.create_nodevalue({"value": "if"})
  87. assert id1 != None
  88. v = self.mvs.read_value(id1)
  89. assert v == {"value": "if"}
  90. def test_create_nodevalue_action_while(self):
  91. id1 = self.mvs.create_nodevalue({"value": "while"})
  92. assert id1 != None
  93. v = self.mvs.read_value(id1)
  94. assert v == {"value": "while"}
  95. def test_create_nodevalue_action_assign(self):
  96. id1 = self.mvs.create_nodevalue({"value": "assign"})
  97. assert id1 != None
  98. v = self.mvs.read_value(id1)
  99. assert v == {"value": "assign"}
  100. def test_create_nodevalue_action_call(self):
  101. id1 = self.mvs.create_nodevalue({"value": "call"})
  102. assert id1 != None
  103. v = self.mvs.read_value(id1)
  104. assert v == {"value": "call"}
  105. def test_create_nodevalue_action_break(self):
  106. id1 = self.mvs.create_nodevalue({"value": "break"})
  107. assert id1 != None
  108. v = self.mvs.read_value(id1)
  109. assert v == {"value": "break"}
  110. def test_create_nodevalue_action_continue(self):
  111. id1 = self.mvs.create_nodevalue({"value": "continue"})
  112. assert id1 != None
  113. v = self.mvs.read_value(id1)
  114. assert v == {"value": "continue"}
  115. def test_create_nodevalue_action_return(self):
  116. id1 = self.mvs.create_nodevalue({"value": "return"})
  117. assert id1 != None
  118. v = self.mvs.read_value(id1)
  119. assert v == {"value": "return"}
  120. def test_create_nodevalue_action_resolve(self):
  121. id1 = self.mvs.create_nodevalue({"value": "resolve"})
  122. assert id1 != None
  123. v = self.mvs.read_value(id1)
  124. assert v == {"value": "resolve"}
  125. def test_create_nodevalue_action_access(self):
  126. id1 = self.mvs.create_nodevalue({"value": "access"})
  127. assert id1 != None
  128. v = self.mvs.read_value(id1)
  129. assert v == {"value": "access"}
  130. def test_create_nodevalue_action_unknown(self):
  131. id1 = self.mvs.create_nodevalue({"value": "unknown"})
  132. assert id1 == None
  133. v = self.mvs.read_value(id1)
  134. assert v == None
  135. def test_create_nodevalue_action_input(self):
  136. id1 = self.mvs.create_nodevalue({"value": "input"})
  137. assert id1 != None
  138. v = self.mvs.read_value(id1)
  139. assert v == {"value": "input"}
  140. def test_create_nodevalue_action_output(self):
  141. id1 = self.mvs.create_nodevalue({"value": "output"})
  142. assert id1 != None
  143. v = self.mvs.read_value(id1)
  144. assert v == {"value": "output"}
  145. def test_create_nodevalue_action_declare(self):
  146. id1 = self.mvs.create_nodevalue({"value": "declare"})
  147. assert id1 != None
  148. v = self.mvs.read_value(id1)
  149. assert v == {"value": "declare"}