public void ExecutionObserverInjectorPatchTest2() { var module = GetContractModule(typeof(BadContract)); var executionObserverInjector = new ExecutionObserverInjector(); executionObserverInjector.Patch(module); }
public void ExecutionObserverInjectorPatchTest() { var module = GetContractModule(typeof(TestContract)); var typeDefinition = ExecutionObserverInjector.ConstructCounterProxy(module, "AElf.Test"); var executionObserverInjector = new ExecutionObserverInjector(); executionObserverInjector.Patch(module); var typePatched = module.Types.Single(t => t.Name == nameof(ExecutionObserverProxy)); typePatched.HasSameFields(typeDefinition).ShouldBeTrue(); foreach (var method in typePatched.Methods) { method.HasSameBody(typeDefinition.Methods.Single(m => m.Name == method.Name)).ShouldBeTrue(); } }