Exemplo n.º 1
0
        /// <summary>
        /// Assert result
        /// </summary>
        /// <param name="engine">Engine</param>
        /// <param name="result">Result</param>
        /// <param name="message">Message</param>
        private void AssertResult(ExecutionEngine engine, VMUTExecutionEngineState result, string message)
        {
            AssertAreEqual(engine.State.ToString().ToLowerInvariant(), result.State.ToString().ToLowerInvariant(), message + "State is different");

            AssertResult(engine.InvocationStack, result.InvocationStack, message + " [Invocation stack]");
            AssertResult(engine.ResultStack, result.ResultStack, message + " [Result stack] ");
        }
Exemplo n.º 2
0
 /// <summary>
 /// Assert result
 /// </summary>
 /// <param name="engine">Engine</param>
 /// <param name="result">Result</param>
 /// <param name="message">Message</param>
 private void AssertResult(VMUTExecutionEngineState result, ExecutionEngine engine, string message)
 {
     AssertAreEqual(result.State.ToString().ToLowerInvariant(), engine.State.ToString().ToLowerInvariant(), message + "State is different");
     if (engine.State == VMState.FAULT)
     {
         return;
     }
     AssertResult(result.InvocationStack, engine.InvocationStack, message + " [Invocation stack]");
     AssertResult(result.ResultStack, engine.ResultStack, message + " [Result stack] ");
 }
Exemplo n.º 3
0
        /// <summary>
        /// Assert result
        /// </summary>
        /// <param name="engine">Engine</param>
        /// <param name="result">Result</param>
        /// <param name="logBag">Log bag</param>
        /// <param name="notBag">Not bag</param>
        /// <param name="message">Message</param>
        private void AssertResult(ExecutionEngineBase engine, VMUTExecutionEngineState result, List <string> logBag, List <JToken> notBag, string message)
        {
            AssertAreEqual(engine.State.ToString(), result.State.ToString(), message + "State is different");
            AssertAreEqual(engine.ConsumedGas, result.ConsumedGas, message + "Consumed gas is different");

            AssertAreEqual(logBag.ToArray(), result.Logs ?? new string[0], message + "Logs are different");
            AssertAreEqual(notBag.ToArray(), result.Notifications == null ? new JToken[0] : result.Notifications.Select(u => PrepareJsonItem(u)).ToArray(), message + "Notifies are different");

            AssertResult(engine.InvocationStack, result.InvocationStack, message);
            AssertResult(engine.ResultStack, result.ResultStack, message);
        }