Example #1
0
        public void ShouldGetPendingMessages()
        {
            var reflectionWrapper = new ReflectionWrapper();
            var assemblyLoader    = new AssemblyLoader(new AssemblyWrapper(), new AssemblyLocater(new DirectoryWrapper(), new FileWrapper()).GetAllAssemblies(), reflectionWrapper);
            var sandbox           = new Sandbox(assemblyLoader, new HookRegistry(assemblyLoader), new ActivatorWrapper(), reflectionWrapper);

            var stepMethods = sandbox.GetStepMethods();
            var gaugeMethod = stepMethods.First(info =>
                                                string.CompareOrdinal(info.Name,
                                                                      "IntegrationTestSample.StepImplementation.SaySomething-StringwhatStringwho") == 0);

            sandbox.ExecuteMethod(gaugeMethod, "hello", "world");
            var pendingMessages = MessageCollector.GetAllPendingMessages();

            Assert.Contains("hello, world!", pendingMessages);
        }
        public void ShouldGetPendingMessages()
        {
            var reflectionWrapper = new ReflectionWrapper();
            var assemblyLoader    = new AssemblyLoader(new AssemblyWrapper(),
                                                       new AssemblyLocater(new DirectoryWrapper(), new FileWrapper()).GetAllAssemblies(), reflectionWrapper);
            var activatorWrapper      = new ActivatorWrapper();
            var classInstanceManager  = assemblyLoader.GetClassInstanceManager(activatorWrapper);
            var executionOrchestrator = new ExecutionOrchestrator(reflectionWrapper, assemblyLoader, activatorWrapper,
                                                                  classInstanceManager,
                                                                  new HookExecutor(assemblyLoader, reflectionWrapper, classInstanceManager),
                                                                  new StepExecutor(assemblyLoader, reflectionWrapper, classInstanceManager));

            var gaugeMethod = assemblyLoader.GetStepRegistry().MethodFor("Say {} to {}");

            executionOrchestrator.ExecuteStep(gaugeMethod, "hello", "world");
            var pendingMessages = MessageCollector.GetAllPendingMessages();

            Assert.Contains("hello, world!", pendingMessages);
        }