示例#1
0
        public void CanStartAndEndSpecification()
        {
            var sink     = Substitute.For <IExecutionListener>();
            var elements = new ISpecificationElement[]
            {
                ElementFixtures.Specification1,
                ElementFixtures.Behavior1Specification1,
                ElementFixtures.Behavior1Specification2
            };

            var cache   = new ElementCache(elements);
            var tracker = new RunTracker(elements);

            var listener = new ExecutionAdapterRunListener(sink, cache, tracker);

            var context       = new TestContextInfo(ElementFixtures.Context.TypeName, string.Empty);
            var specification = new TestSpecificationInfo(ElementFixtures.Context.TypeName, ElementFixtures.Specification1.FieldName, string.Empty);

            listener.OnContextStart(context);
            listener.OnSpecificationStart(specification);
            listener.OnSpecificationEnd(specification, new TestRunResult(TestStatus.Passing));
            listener.OnContextEnd(context);

            sink.Received().OnContextStart(ElementFixtures.Context);
            sink.Received().OnSpecificationStart(ElementFixtures.Specification1);
            sink.Received().OnSpecificationEnd(ElementFixtures.Specification1, Arg.Any <string>(), Arg.Any <TestRunResult>());
            sink.Received().OnContextEnd(ElementFixtures.Context, Arg.Any <string>());
        }
示例#2
0
        public void CanNotifyRun()
        {
            var sink    = Substitute.For <IExecutionListener>();
            var cache   = new ElementCache(Array.Empty <ISpecificationElement>());
            var tracker = new RunTracker(Array.Empty <ISpecificationElement>());

            var listener = new ExecutionAdapterRunListener(sink, cache, tracker);

            listener.OnRunStart();
            listener.OnRunEnd();

            sink.Received().OnRunStart();
            sink.Received().OnRunEnd();
        }
示例#3
0
        public void CanNotifyAssembly()
        {
            const string path = "path/to/assembly.dll";

            var sink    = Substitute.For <IExecutionListener>();
            var cache   = new ElementCache(Array.Empty <ISpecificationElement>());
            var tracker = new RunTracker(Array.Empty <ISpecificationElement>());

            var listener = new ExecutionAdapterRunListener(sink, cache, tracker);

            var assembly = new TestAssemblyInfo(path);

            listener.OnAssemblyStart(assembly);
            listener.OnAssemblyEnd(assembly);

            sink.Received().OnAssemblyStart(path);
            sink.Received().OnAssemblyEnd(path);
        }