Example #1
0
        public void Invoke_Receive_Method_Sets_State()
        {
            var methodCall      = MethodCall.Receive();
            var receiveContract = Contract.CreateUninitialized(typeof(HasReceive), this.state, this.address);
            var receiveInstance = (HasReceive)receiveContract.GetPrivateFieldValue("instance");

            receiveContract.Invoke(methodCall);

            var gasMeter   = receiveInstance.GetBaseTypePrivateFieldValue("gasMeter");
            var block      = receiveInstance.GetBaseTypePrivateFieldValue("Block");
            var getBalance = receiveInstance.GetBaseTypePrivateFieldValue("getBalance");
            var internalTransactionExecutor = receiveInstance.GetBaseTypePrivateFieldValue("internalTransactionExecutor");
            var internalHashHelper          = receiveInstance.GetBaseTypePrivateFieldValue("internalHashHelper");
            var message            = receiveInstance.GetBaseTypePrivateFieldValue("Message");
            var persistentState    = receiveInstance.GetBaseTypePrivateFieldValue("PersistentState");
            var smartContractState = receiveInstance.GetBaseTypePrivateFieldValue("smartContractState");

            Assert.NotNull(gasMeter);
            Assert.Equal(this.state.GasMeter, gasMeter);
            Assert.NotNull(block);
            Assert.Equal(this.state.Block, block);
            Assert.NotNull(getBalance);
            Assert.Equal(this.state.GetBalance, getBalance);
            Assert.NotNull(internalTransactionExecutor);
            Assert.Equal(this.state.InternalTransactionExecutor, internalTransactionExecutor);
            Assert.NotNull(internalHashHelper);
            Assert.Equal(this.state.InternalHashHelper, internalHashHelper);
            Assert.NotNull(message);
            Assert.Equal(this.state.Message, message);
            Assert.NotNull(persistentState);
            Assert.Equal(this.state.PersistentState, persistentState);
            Assert.NotNull(smartContractState);
            Assert.Equal(this.state, smartContractState);
        }
Example #2
0
        public void EmptyMethodName_DoesNot_Invoke_Receive()
        {
            var receiveContract = Contract.CreateUninitialized(typeof(HasNoReceive), this.state, this.address);
            var methodCall      = MethodCall.Receive();

            var result = receiveContract.Invoke(methodCall);

            Assert.False(result.IsSuccess);
        }
Example #3
0
        public void EmptyMethodName_Invokes_Receive()
        {
            var receiveContract = Contract.CreateUninitialized(typeof(HasReceive), this.state, this.address);
            var receiveInstance = (HasReceive)receiveContract.GetPrivateFieldValue("instance");
            var methodCall      = MethodCall.Receive();

            var result = receiveContract.Invoke(methodCall);

            Assert.True(result.IsSuccess);
            Assert.True(receiveInstance.ReceiveInvoked);
        }
Example #4
0
        public void Invoke_Receive_Method_Sets_State()
        {
            var methodCall      = MethodCall.Receive();
            var receiveContract = Contract.CreateUninitialized(typeof(HasReceive), this.state, this.address);
            var receiveInstance = (HasReceive)receiveContract.GetPrivateFieldValue("instance");

            receiveContract.Invoke(methodCall);

            var smartContractState = receiveInstance.GetBaseTypePrivateFieldValue("state");

            Assert.NotNull(smartContractState);
            Assert.Equal(this.state, smartContractState);
        }
Example #5
0
        public void MethodCall_Created_With_Factory_Should_Be_Receive()
        {
            var methodCall = MethodCall.Receive();

            Assert.True(methodCall.IsReceiveHandlerCall);
        }