예제 #1
0
파일: UT_Helper.cs 프로젝트: mohamadDev/neo
        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);
        }