def test_serialize_map(self): map2 = Map({ StackItem.New(b'a'): StackItem.New(1), StackItem.New(b'b'): StackItem.New(2), StackItem.New(b'c'): StackItem.New(3), }) self.engine.EvaluationStack.PushT(map2) self.state_reader.Runtime_Serialize(self.engine) self.state_reader.Runtime_Deserialize(self.engine) deserialized = self.engine.EvaluationStack.Pop() self.assertEqual(deserialized, map2) map3 = Map({ StackItem.New(b'j'): StackItem.New(8), StackItem.New(b'k'): StackItem.New(2222), }) map2.SetItem(StackItem.New(b'mymap'), map3) self.engine.EvaluationStack.PushT(map2) self.state_reader.Runtime_Serialize(self.engine) self.state_reader.Runtime_Deserialize(self.engine) deserialized = self.engine.EvaluationStack.Pop() self.assertEqual(deserialized, map2)
def test_interop_map1(self): map = Map() self.assertEqual(map.Keys, []) self.assertEqual(map.Values, []) map.SetItem(Integer(BigInteger(3)), ByteArray(b'abc')) self.assertEqual(map.Keys, [Integer(BigInteger(3))]) self.assertEqual(map.Values, [ByteArray(b'abc')])
def test_interop_map3(self): map = Map({'a': 1, 'b': 2, 'c': 3}) self.assertEqual(map.GetBoolean(), True) with self.assertRaises(Exception) as context: map.GetByteArray() with self.assertRaises(Exception) as context: map.GetBigInteger() map2 = Map({'a': 1, 'b': 2, 'c': 3}) self.assertEqual(map, map2) self.assertTrue(map.Remove('a'), True) self.assertEqual(map.Count, 2) self.assertNotEqual(map, map2) self.assertEqual(map.TryGetValue('b'), (True, 2)) self.assertEqual(map.TryGetValue('h'), (False, None)) map.SetItem('h', 9) self.assertEqual(map.GetItem('h'), 9) self.assertEqual(map.GetMap(), {'b': 2, 'c': 3, 'h': 9})