예제 #1
0
        public void TransformNullBuilderThrows()
        {
            // Arrange
            var sut = new ReadonlyCollectionPropertiesBehavior();

            // Act
            // Assert
            Assert.Throws <ArgumentNullException>(() => sut.Transform(null));
        }
예제 #2
0
        public void SutIsBuilderTransformation()
        {
            // Arrange
            // Act
            var sut = new ReadonlyCollectionPropertiesBehavior();

            // Assert
            Assert.IsAssignableFrom <ISpecimenBuilderTransformation>(sut);
        }
예제 #3
0
        public void TransformReturnsPostprocessor()
        {
            // Arrange
            var sut          = new ReadonlyCollectionPropertiesBehavior();
            var dummyBuilder = new DelegatingSpecimenBuilder();

            // Act
            var result = sut.Transform(dummyBuilder);

            // Assert
            Assert.IsAssignableFrom <Postprocessor>(result);
        }
예제 #4
0
        public void TransformReturnsPostprocessorWhichContainsAppropriateSpecification()
        {
            // Arrange
            var sut          = new ReadonlyCollectionPropertiesBehavior();
            var dummyBuilder = new DelegatingSpecimenBuilder();

            // Act
            var result = sut.Transform(dummyBuilder);

            // Assert
            var p = Assert.IsAssignableFrom <Postprocessor>(result);

            Assert.IsAssignableFrom <AndRequestSpecification>(p.Specification);
        }
예제 #5
0
        public void TransformReturnsPostprocessorWhichDecoratesInput()
        {
            // Arrange
            var sut             = new ReadonlyCollectionPropertiesBehavior();
            var expectedBuilder = new DelegatingSpecimenBuilder();

            // Act
            var result = sut.Transform(expectedBuilder);

            // Assert
            var p = Assert.IsAssignableFrom <Postprocessor>(result);

            Assert.IsAssignableFrom <ISpecimenBuilder>(p.Builder);
        }