public void CreateWillReturnCorrectResult()
        {
            // Fixture setup
            var expectedSpecimen = new object();

            var param1 = new { ExpectedRequest = typeof(decimal), Specimen = (object)1m };
            var param2 = new { ExpectedRequest = typeof(TimeSpan), Specimen = (object)TimeSpan.FromDays(1) };
            var subRequests = new[] { param1, param2 };

            var container = new DelegatingSpecimenContext();
            container.OnResolve = r => (from x in subRequests
                                        where x.ExpectedRequest.Equals(r)
#pragma warning disable 618
                                        select x.Specimen).DefaultIfEmpty(new NoSpecimen(r)).SingleOrDefault();
#pragma warning restore 618

            Func<decimal, TimeSpan, object> f = (d, ts) => param1.Specimen.Equals(d) && param2.Specimen.Equals(ts) ? expectedSpecimen : new NoSpecimen();
            var sut = new SpecimenFactory<decimal, TimeSpan, object>(f);
            // Exercise system
            var dummyRequest = new object();
            var result = sut.Create(dummyRequest, container);
            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
        public void CreateWillReturnCorrectResult()
        {
            // Arrange
            var expectedSpecimen = new object();

            var param1      = new { ExpectedRequest = typeof(decimal), Specimen = (object)1m };
            var param2      = new { ExpectedRequest = typeof(TimeSpan), Specimen = (object)TimeSpan.FromDays(1) };
            var param3      = new { ExpectedRequest = typeof(string), Specimen = (object)"Anonymous value - with Foo!" };
            var subRequests = new[] { param1, param2, param3 };

            var container = new DelegatingSpecimenContext();

            container.OnResolve = r => (from x in subRequests
                                        where x.ExpectedRequest.Equals(r)
                                        select x.Specimen).DefaultIfEmpty(new NoSpecimen()).SingleOrDefault();

            Func <decimal, TimeSpan, string, object> f = (d, ts, s) =>
                                                         param1.Specimen.Equals(d) && param2.Specimen.Equals(ts) && param3.Specimen.Equals(s) ? expectedSpecimen : new NoSpecimen();
            var sut = new SpecimenFactory <decimal, TimeSpan, string, object>(f);
            // Act
            var dummyRequest = new object();
            var result       = sut.Create(dummyRequest, container);

            // Assert
            Assert.Equal(expectedSpecimen, result);
        }
        public void CreateWillReturnCorrectResult()
        {
            // Fixture setup
            var expectedSpecimen = new object();

            var param1      = new { ExpectedRequest = typeof(decimal), Specimen = (object)1m };
            var param2      = new { ExpectedRequest = typeof(TimeSpan), Specimen = (object)TimeSpan.FromDays(1) };
            var subRequests = new[] { param1, param2 };

            var container = new DelegatingSpecimenContext();

            container.OnResolve = r => (from x in subRequests
                                        where x.ExpectedRequest.Equals(r)
#pragma warning disable 618
                                        select x.Specimen).DefaultIfEmpty(new NoSpecimen(r)).SingleOrDefault();
#pragma warning restore 618

            Func <decimal, TimeSpan, object> f = (d, ts) => param1.Specimen.Equals(d) && param2.Specimen.Equals(ts) ? expectedSpecimen : new NoSpecimen();
            var sut = new SpecimenFactory <decimal, TimeSpan, object>(f);
            // Exercise system
            var dummyRequest = new object();
            var result       = sut.Create(dummyRequest, container);
            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
Esempio n. 4
0
 public void CreateFromNullSpecimenContextThrows()
 {
     // Arrange
     // Act & assert
     Assert.Throws <ArgumentNullException>(() =>
                                           SpecimenFactory.Create <object>((ISpecimenContext)null));
 }
        public void CreateWillReturnCorrectResult()
        {
            // Fixture setup
            var expectedSpecimen = new object();

            var param1 = new { ExpectedRequest = typeof(decimal), Specimen = (object)1m };
            var param2 = new { ExpectedRequest = typeof(TimeSpan), Specimen = (object)TimeSpan.FromDays(1) };
            var param3 = new { ExpectedRequest = typeof(string), Specimen = (object)"Anonymous value - with Foo!" };
            var param4 = new { ExpectedRequest = typeof(int), Specimen = (object)7 };
            var subRequests = new[] { param1, param2, param3, param4 };

            var container = new DelegatingSpecimenContext();
            container.OnResolve = r => (from x in subRequests
                                        where x.ExpectedRequest.Equals(r)
                                        select x.Specimen).DefaultIfEmpty(new NoSpecimen(r)).SingleOrDefault();

            Func<decimal, TimeSpan, string, int, object> f = (d, ts, s, i) =>
                param1.Specimen.Equals(d) && param2.Specimen.Equals(ts) && param3.Specimen.Equals(s) && param4.Specimen.Equals(i) ? expectedSpecimen : new NoSpecimen();
            var sut = new SpecimenFactory<decimal, TimeSpan, string, int, object>(f);
            // Exercise system
            var dummyRequest = new object();
            var result = sut.Create(dummyRequest, container);
            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
Esempio n. 6
0
 public void CreateFromNullSpecimenContextThrows()
 {
     // Fixture setup
     // Exercise system and verify outcome
     Assert.Throws <ArgumentNullException>(() =>
                                           SpecimenFactory.Create <object>((ISpecimenContext)null));
     // Teardown
 }
        public void CreateWithNullContainerThrows()
        {
            // Arrange
            var sut          = new SpecimenFactory <object, object, object, object>((x, y, z) => x);
            var dummyRequest = new object();

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.Create(dummyRequest, null));
        }
 public void CreateWithNullContainerThrows()
 {
     // Fixture setup
     var sut = new SpecimenFactory<object, object>(x => x);
     var dummyRequest = new object();
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(() =>
         sut.Create(dummyRequest, null));
     // Teardown
 }
Esempio n. 9
0
        public void CreateFromNullSpecimenBuilderWithSeedThrows()
        {
            // Fixture setup
            var dummySeed = new object();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  SpecimenFactory.Create <object>((ISpecimenBuilder)null, dummySeed));
            // Teardown
        }
        public void CreateWithNullContainerThrows()
        {
            // Fixture setup
            var sut          = new SpecimenFactory <object, object, object, object, object>((x, y, z, æ) => x);
            var dummyRequest = new object();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.Create(dummyRequest, null));
            // Teardown
        }
 public void CreateReturnsCorrectResult()
 {
     // Fixture setup
     var expectedSpecimen = new object();
     Func<object> creator = () => expectedSpecimen;
     var sut = new SpecimenFactory<object>(creator);
     // Exercise system
     var dummyRequest = new object();
     var dummyContainer = new DelegatingSpecimenContext();
     var result = sut.Create(dummyRequest, dummyContainer);
     // Verify outcome
     Assert.Equal(expectedSpecimen, result);
     // Teardown
 }
Esempio n. 12
0
        public void CreateReturnsCorrectResult()
        {
            // Arrange
            var           expectedSpecimen = new object();
            Func <object> creator          = () => expectedSpecimen;
            var           sut = new SpecimenFactory <object>(creator);
            // Act
            var dummyRequest   = new object();
            var dummyContainer = new DelegatingSpecimenContext();
            var result         = sut.Create(dummyRequest, dummyContainer);

            // Assert
            Assert.Equal(expectedSpecimen, result);
        }
        public void CreateReturnsCorrectResult()
        {
            // Fixture setup
            var           expectedSpecimen = new object();
            Func <object> creator          = () => expectedSpecimen;
            var           sut = new SpecimenFactory <object>(creator);
            // Exercise system
            var dummyRequest   = new object();
            var dummyContainer = new DelegatingSpecimenContext();
            var result         = sut.Create(dummyRequest, dummyContainer);

            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
        public void CreateWillReturnCorrectResult()
        {
            // Fixture setup
            var expectedSpecimen = new object();

            var dtSpecimen = DateTimeOffset.Now;
            var expectedParameterRequest = typeof(DateTimeOffset);
            var container = new DelegatingSpecimenContext { OnResolve = r => expectedParameterRequest.Equals(r) ? (object)dtSpecimen : new NoSpecimen(r) };

            Func<DateTimeOffset, object> f = dt => dtSpecimen.Equals(dt) ? expectedSpecimen : new NoSpecimen(dt);
            var sut = new SpecimenFactory<DateTimeOffset, object>(f);
            // Exercise system
            var dummyRequest = new object();
            var result = sut.Create(dummyRequest, container);
            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
        public void CreateWillReturnCorrectResult()
        {
            // Arrange
            var expectedSpecimen = new object();

            var dtSpecimen = DateTimeOffset.Now;
            var expectedParameterRequest = typeof(DateTimeOffset);
            var container = new DelegatingSpecimenContext {
                OnResolve = r => expectedParameterRequest.Equals(r) ? (object)dtSpecimen : new NoSpecimen()
            };

            Func <DateTimeOffset, object> f = dt => dtSpecimen.Equals(dt) ? expectedSpecimen : new NoSpecimen();
            var sut = new SpecimenFactory <DateTimeOffset, object>(f);
            // Act
            var dummyRequest = new object();
            var result       = sut.Create(dummyRequest, container);

            // Assert
            Assert.Equal(expectedSpecimen, result);
        }
Esempio n. 16
0
        public void CreateWillReturnCorrectResult()
        {
            // Fixture setup
            var expectedSpecimen = new object();

            var dtSpecimen = DateTimeOffset.Now;
            var expectedParameterRequest = typeof(DateTimeOffset);
            var container = new DelegatingSpecimenContext {
                OnResolve = r => expectedParameterRequest.Equals(r) ? (object)dtSpecimen : new NoSpecimen(r)
            };

            Func <DateTimeOffset, object> f = dt => dtSpecimen.Equals(dt) ? expectedSpecimen : new NoSpecimen(dt);
            var sut = new SpecimenFactory <DateTimeOffset, object>(f);
            // Exercise system
            var dummyRequest = new object();
            var result       = sut.Create(dummyRequest, container);

            // Verify outcome
            Assert.Equal(expectedSpecimen, result);
            // Teardown
        }
Esempio n. 17
0
 public void CreateFromNullSpecimenBuilderThrows()
 {
     Assert.Throws <ArgumentNullException>(() =>
                                           SpecimenFactory.Create <object>((ISpecimenBuilder)null));
 }