public void SutIsSpecimenBuilder()
        {
            // Arrange
            // Act
            var sut = new ParameterRequestRelay();

            // Assert
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
        }
        public void CreateWithNullContainerWillThrow()
        {
            // Arrange
            var sut          = new ParameterRequestRelay();
            var dummyRequest = new object();

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.Create(dummyRequest, null));
        }
Example #3
0
        public void SutIsSpecimenBuilder()
        {
            // Fixture setup
            // Exercise system
            var sut = new ParameterRequestRelay();

            // Verify outcome
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
            // Teardown
        }
Example #4
0
        public void CreateWithNullContainerWillThrow()
        {
            // Fixture setup
            var sut          = new ParameterRequestRelay();
            var dummyRequest = new object();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.Create(dummyRequest, null));
            // Teardown
        }
        public void CreateWithNullRequestWillReturnCorrectResult()
        {
            // Arrange
            var sut = new ParameterRequestRelay();
            // Act
            var dummyContainer = new DelegatingSpecimenContext();
            var result         = sut.Create(null, dummyContainer);
            // Assert
            var expectedResult = new NoSpecimen();

            Assert.Equal(expectedResult, result);
        }
Example #6
0
        public void CreateWithNullRequestWillReturnCorrectResult()
        {
            // Fixture setup
            var sut = new ParameterRequestRelay();
            // Exercise system
            var dummyContainer = new DelegatingSpecimenContext();
            var result         = sut.Create(null, dummyContainer);
            // Verify outcome
            var expectedResult = new NoSpecimen();

            Assert.Equal(expectedResult, result);
            // Teardown
        }
        public void CreateFromParameterRequestWillReturnCorrectResultWhenContainerCanSatisfyRequest()
        {
            // Arrange
            var expectedSpecimen = new object();
            var parameterInfo    = typeof(SingleParameterType <string>).GetTypeInfo().GetConstructors().First().GetParameters().First();
            var container        = new DelegatingSpecimenContext {
                OnResolve = r => expectedSpecimen
            };
            var sut = new ParameterRequestRelay();
            // Act
            var result = sut.Create(parameterInfo, container);

            // Assert
            Assert.Equal(expectedSpecimen, result);
        }
Example #8
0
        public void CreateFromParameterRequestWillReturnCorrectResultWhenContainerCanSatisfyRequest()
        {
            // Fixture setup
            var expectedSpecimen = new object();
            var parameterInfo    = typeof(SingleParameterType <string>).GetConstructors().First().GetParameters().First();
            var container        = new DelegatingSpecimenContext {
                OnResolve = r => expectedSpecimen
            };
            var sut = new ParameterRequestRelay();
            // Exercise system
            var result = sut.Create(parameterInfo, container);

            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
Example #9
0
        public void CreateFromNonParameterRequestWillReturnCorrectResult()
        {
            // Fixture setup
            var nonParameterRequest = new object();
            var sut = new ParameterRequestRelay();
            // Exercise system
            var dummyContainer = new DelegatingSpecimenContext();
            var result         = sut.Create(nonParameterRequest, dummyContainer);

            // Verify outcome
#pragma warning disable 618
            var expectedResult = new NoSpecimen(nonParameterRequest);
#pragma warning restore 618
            Assert.Equal(expectedResult, result);
            // Teardown
        }
Example #10
0
        public void CreateFromParameterRequestWillReturnNullWhenContainerCannotSatisfyRequest()
        {
            // Fixture setup
            var parameterInfo = typeof(SingleParameterType <string>).GetConstructors().First().GetParameters().First();

#pragma warning disable 618
            var container = new DelegatingSpecimenContext {
                OnResolve = r => new NoSpecimen(parameterInfo)
            };
#pragma warning restore 618
            var sut = new ParameterRequestRelay();
            // Exercise system
            var result = sut.Create(parameterInfo, container);
            // Verify outcome
#pragma warning disable 618
            var expectedResult = new NoSpecimen(parameterInfo);
#pragma warning restore 618
            Assert.Equal(expectedResult, result);
            // Teardown
        }
        public void CreateFromParameterRequestWillCorrectlyInvokeContainer()
        {
            // Arrange
            var sut             = new ParameterRequestRelay();
            var parameterInfo   = typeof(SingleParameterType <string>).GetTypeInfo().GetConstructors().First().GetParameters().First();
            var expectedRequest = new SeededRequest(parameterInfo.ParameterType, parameterInfo.Name);

            var mockVerified  = false;
            var containerMock = new DelegatingSpecimenContext();

            containerMock.OnResolve = r =>
            {
                Assert.Equal(expectedRequest, r);
                mockVerified = true;
                return(null);
            };
            // Act
            sut.Create(parameterInfo, containerMock);
            // Assert
            Assert.True(mockVerified, "Mock verification");
        }