public void SutIsSpecimenBuilder()
 {
     // Fixture setup
     // Exercise system
     var sut = new SeedIgnoringRelay();
     // Verify outcome
     Assert.IsAssignableFrom<ISpecimenBuilder>(sut);
     // Teardown
 }
 public void CreateWithNullContainerWillThrow()
 {
     // Fixture setup
     var sut = new SeedIgnoringRelay();
     var dummyRequest = new object();
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(()=>
         sut.Create(dummyRequest, null));
     // Teardown
 }
 public void CreateWithNullRequestWillReturnNull()
 {
     // Fixture setup
     var sut = new SeedIgnoringRelay();
     // 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 CreateFromSeedWhenContainerCannotSatisfyWrappedRequestWillReturnNull()
 {
     // Fixture setup
     var anonymousSeed = new SeededRequest(typeof(object), new object());
     var unableContainer = new DelegatingSpecimenContext { OnResolve = r => new NoSpecimen(anonymousSeed) };
     var sut = new SeedIgnoringRelay();
     // Exercise system
     var result = sut.Create(anonymousSeed, unableContainer);
     // Verify outcome
     var expectedResult = new NoSpecimen(anonymousSeed);
     Assert.Equal(expectedResult, result);
     // Teardown
 }
        public void CreateFromSeedWillCorrectlyInvokeContainer()
        {
            // Fixture setup
            var sut = new SeedIgnoringRelay();
            var seededRequest = new SeededRequest(typeof(int), 1);

            var mockVerified = false;
            var containerMock = new DelegatingSpecimenContext();
            containerMock.OnResolve = r =>
            {
                Assert.Equal(typeof(int), r);
                mockVerified = true;
                return null;
            };
            // Exercise system
            sut.Create(seededRequest, containerMock);
            // Verify outcome
            Assert.True(mockVerified, "Mock verification");
            // Teardown
        }