示例#1
0
        public void ComposeWithPostprocessorsReturnsCorrectResult()
        {
            // Fixture setup
            var postproc1 = new DelegatingSpecifiedSpecimenCommand <string>();
            var postproc2 = new DelegatingSpecifiedSpecimenCommand <string>();
            var postproc3 = new DelegatingSpecifiedSpecimenCommand <string>();

            var sut = new SutBuilder <string>().With(new[] { postproc1, postproc2, postproc3 }).Create();
            // Exercise system
            var result = sut.Compose();
            // Verify outcome
            var filter = result.IsFilter().ShouldSpecify <string>();

            var composite = Assert.IsAssignableFrom <CompositeSpecimenBuilder>(filter.Builder);

            var pp1 = Assert.IsAssignableFrom <Postprocessor <string> >(composite.Builders.First());

            Assert.Equal(postproc3.Execute, pp1.Action);

            var pp2 = Assert.IsAssignableFrom <Postprocessor <string> >(pp1.Builder);

            Assert.Equal(postproc2.Execute, pp2.Action);

            var pp3 = Assert.IsAssignableFrom <Postprocessor <string> >(pp2.Builder);

            Assert.Equal(postproc1.Execute, pp3.Action);

            var guard = Assert.IsAssignableFrom <NoSpecimenOutputGuard>(pp3.Builder);

            Assert.Equal(sut.Factory, guard.Builder);
            // Teardown
        }
示例#2
0
        public void WithPostprocessorReturnsResultWithAddedPostprocessor()
        {
            // Fixture setup
            var expectedPostprocessor = new DelegatingSpecifiedSpecimenCommand <object>();
            var sut = new SutBuilder <object>().Create();
            // Exercise system
            var result = sut.WithPostprocessor(expectedPostprocessor);

            // Verify outcome
            Assert.Contains(expectedPostprocessor, result.Postprocessors);
            // Teardown
        }
示例#3
0
        public void WithPostprocessorReturnsResultWithCorrectFactory()
        {
            // Fixture setup
            var sut             = new SutBuilder <object>().Create();
            var expectedFactory = sut.Factory;
            // Exercise system
            var dummyPostprocessor = new DelegatingSpecifiedSpecimenCommand <object>();
            var result             = sut.WithPostprocessor(dummyPostprocessor);

            // Verify outcome
            Assert.Equal(expectedFactory, result.Factory);
            // Teardown
        }