summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/constval.py30
1 files changed, 26 insertions, 4 deletions
diff --git a/tests/constval.py b/tests/constval.py
index 4863d39..eafb8d3 100644
--- a/tests/constval.py
+++ b/tests/constval.py
@@ -5,18 +5,40 @@
from chrysacase import ChrysalideTestCase
from pychrysalide import PyConstvalObject
from pychrysalide.arch import ArchInstruction
+import pickle
class TestConstVal(ChrysalideTestCase):
"""TestCase for PyConstvalObject."""
- def testGI(self):
- """Validate the PyConstvalObject implementation."""
+ def testCreation(self):
+ """Validate PyConstvalObject creation from Python."""
+
+ cst = PyConstvalObject(123, 'XXX')
+
+ self.assertEqual(cst, 123)
+
+ self.assertEqual(str(cst), 'XXX')
- with self.assertRaises(RuntimeError):
- cv = PyConstvalObject()
+
+ def testString(self):
+ """Validate the PyConstvalObject implementation."""
self.assertEqual(ArchInstruction.ILT_JUMP, 1)
self.assertEqual(str(ArchInstruction.ILT_JUMP), 'ILT_JUMP')
+
+
+ def testStorage(self):
+ """Ensure PyConstvalObject instances are storable."""
+
+ cst = ArchInstruction.ILT_JUMP
+
+ data = pickle.dumps(cst)
+
+ cst = pickle.loads(data)
+
+ self.assertEqual(cst, ArchInstruction.ILT_JUMP)
+
+ self.assertEqual(str(cst), 'ILT_JUMP')