public void TestToParameter() { StackItem byteItem = "00e057eb481b".HexToBytes(); Assert.AreEqual(30000000000000L, (long)new BigInteger(byteItem.ToParameter().Value as byte[])); StackItem boolItem = false; Assert.AreEqual(false, (bool)boolItem.ToParameter().Value); StackItem intItem = new BigInteger(1000); Assert.AreEqual(1000, (BigInteger)intItem.ToParameter().Value); StackItem interopItem = new VM.Types.InteropInterface <string>("test"); Assert.AreEqual(null, interopItem.ToParameter().Value); StackItem arrayItem = new VM.Types.Array(new[] { byteItem, boolItem, intItem, interopItem }); Assert.AreEqual(1000, (BigInteger)(arrayItem.ToParameter().Value as List <ContractParameter>)[2].Value); StackItem mapItem = new Map(new Dictionary <PrimitiveType, StackItem> { [(PrimitiveType)byteItem] = intItem }); Assert.AreEqual(1000, (BigInteger)(mapItem.ToParameter().Value as List <KeyValuePair <ContractParameter, ContractParameter> >)[0].Value.Value); }
private void TestToParaMeter2VMArray() { VM.Types.Array item = new VM.Types.Array(); ContractParameter parameter = VM.Helper.ToParameter(item); Assert.AreEqual(ContractParameterType.Array, parameter.Type); Assert.AreEqual(0, ((List <ContractParameter>)parameter.Value).Count); }
public void TestToJson() { var item = new VM.Types.Array(); item.Add(5); item.Add("hello world"); item.Add(new byte[] { 1, 2, 3 }); item.Add(true); Assert.AreEqual("{\"type\":\"Integer\",\"value\":\"5\"}", item[0].ToJson().ToString()); Assert.AreEqual("{\"type\":\"ByteString\",\"value\":\"aGVsbG8gd29ybGQ=\"}", item[1].ToJson().ToString()); Assert.AreEqual("{\"type\":\"ByteString\",\"value\":\"AQID\"}", item[2].ToJson().ToString()); Assert.AreEqual("{\"type\":\"Boolean\",\"value\":true}", item[3].ToJson().ToString()); Assert.AreEqual("{\"type\":\"Array\",\"value\":[{\"type\":\"Integer\",\"value\":\"5\"},{\"type\":\"ByteString\",\"value\":\"aGVsbG8gd29ybGQ=\"},{\"type\":\"ByteString\",\"value\":\"AQID\"},{\"type\":\"Boolean\",\"value\":true}]}", item.ToJson().ToString()); var item2 = new VM.Types.Map(); item2[1] = new Pointer(new Script(new byte[0]), 0); Assert.AreEqual("{\"type\":\"Map\",\"value\":[{\"key\":{\"type\":\"Integer\",\"value\":\"1\"},\"value\":{\"type\":\"Pointer\",\"value\":0}}]}", item2.ToJson().ToString()); }