test_read_value.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import unittest
  2. from modelverse_state.main import ModelverseState
  3. from modelverse_state import status
  4. class TestReadValue(unittest.TestCase):
  5. def setUp(self):
  6. self.mvs = ModelverseState()
  7. def test_read_value_different_id_simple(self):
  8. id1, r1 = self.mvs.create_nodevalue(1)
  9. id2, r2 = self.mvs.create_nodevalue(2)
  10. self.assertEquals(r1, status.SUCCESS)
  11. self.assertEquals(r2, status.SUCCESS)
  12. v1, r1 = self.mvs.read_value(id1)
  13. v2, r2 = self.mvs.read_value(id2)
  14. self.assertEquals(r1, status.SUCCESS)
  15. self.assertEquals(r2, status.SUCCESS)
  16. self.assertEquals(v1, 1)
  17. self.assertEquals(v2, 2)
  18. def test_read_value_integer_ib_negative(self):
  19. # Just within range
  20. for i in range(-2**63, -2**63 + 10):
  21. id1, r = self.mvs.create_nodevalue(i)
  22. self.assertEquals(r, status.SUCCESS)
  23. v, r = self.mvs.read_value(id1)
  24. self.assertEquals(r, status.SUCCESS)
  25. self.assertEquals(v, i)
  26. def test_read_value_integer_ib_zero(self):
  27. # Nicely within range
  28. for i in range(-10, 10):
  29. id1, r = self.mvs.create_nodevalue(i)
  30. self.assertEquals(r, status.SUCCESS)
  31. v, r = self.mvs.read_value(id1)
  32. self.assertEquals(r, status.SUCCESS)
  33. self.assertEquals(v, i)
  34. def test_read_value_integer_ib_positive(self):
  35. # Just within range
  36. for i in range(2**64-10, 2**64):
  37. id1, r = self.mvs.create_nodevalue(i)
  38. self.assertEquals(r, status.SUCCESS)
  39. v, r = self.mvs.read_value(id1)
  40. self.assertEquals(r, status.SUCCESS)
  41. self.assertEquals(v, i)
  42. def test_read_value_boolean(self):
  43. id1, r1 = self.mvs.create_nodevalue(True)
  44. id2, r2 = self.mvs.create_nodevalue(False)
  45. self.assertEquals(r1, status.SUCCESS)
  46. self.assertEquals(r2, status.SUCCESS)
  47. v1, r1 = self.mvs.read_value(id1)
  48. v2, r2 = self.mvs.read_value(id2)
  49. self.assertEquals(r1, status.SUCCESS)
  50. self.assertEquals(r2, status.SUCCESS)
  51. self.assertEquals(v1, True)
  52. self.assertEquals(v2, False)
  53. def test_read_nodevalue_boolean_same(self):
  54. id1, r1 = self.mvs.create_nodevalue(True)
  55. id2, r2 = self.mvs.create_nodevalue(True)
  56. self.assertEquals(r1, status.SUCCESS)
  57. self.assertEquals(r2, status.SUCCESS)
  58. v1, r1 = self.mvs.read_value(id1)
  59. v2, r2 = self.mvs.read_value(id2)
  60. self.assertEquals(r1, status.SUCCESS)
  61. self.assertEquals(r2, status.SUCCESS)
  62. self.assertEquals(v1, True)
  63. self.assertEquals(v2, True)
  64. def test_read_value_no_exist(self):
  65. v1, r1 = self.mvs.read_value(100000)
  66. self.assertEquals(r1, status.FAIL_RV_UNKNOWN)
  67. self.assertEquals(v1, None)
  68. def test_read_value_no_value(self):
  69. id1, r1 = self.mvs.create_node()
  70. self.assertEquals(r1, status.SUCCESS)
  71. v1, r1 = self.mvs.read_value(id1)
  72. self.assertEquals(r1, status.FAIL_RV_NO_VALUE)
  73. self.assertEquals(v1, None)