Ejemplo n.º 1
0
        public void SutShouldBeASpecimenBuilder()
        {
            // Arrange
            var sut = new NumericRangedRequestRelay();

            // Act & assert
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
        }
Ejemplo n.º 2
0
        public void SutShouldBeASpecimenBuilder()
        {
            // Fixture setup
            var sut = new NumericRangedRequestRelay();

            // Exercise system and Verify outcome
            Assert.IsAssignableFrom <ISpecimenBuilder>(sut);
            // Teardown
        }
Ejemplo n.º 3
0
        public void ShouldFailWithArgumentNullExceptionForNullContext()
        {
            // Arrange
            var sut     = new NumericRangedRequestRelay();
            var request = new object();
            ISpecimenContext nullContext = null;

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.Create(request, nullContext));
        }
Ejemplo n.º 4
0
        public void ShouldReturnNoResultForNonSupportedRequests(object request)
        {
            // Arrange
            var sut     = new NumericRangedRequestRelay();
            var context = new DelegatingSpecimenContext();

            // Act
            var result = sut.Create(request, context);

            // Assert
            Assert.IsType <NoSpecimen>(result);
        }
Ejemplo n.º 5
0
        public void ShouldFailWithArgumentNullExceptionForNullContext()
        {
            // Fixture setup
            var sut     = new NumericRangedRequestRelay();
            var request = new object();
            ISpecimenContext nullContext = null;

            // Exercise system and Verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.Create(request, nullContext));
            // Teardown
        }
Ejemplo n.º 6
0
        public void ShouldReturnNoResultIfRangedRequestIsOfNonNumericMemberType(Type memberType)
        {
            // Arrange
            var sut     = new NumericRangedRequestRelay();
            var request = new RangedRequest(memberType, typeof(int), 0, 42);
            var context = new DelegatingSpecimenContext();

            // Act
            var result = sut.Create(request, context);

            // Assert
            Assert.IsType <NoSpecimen>(result);
        }
Ejemplo n.º 7
0
        public void ShouldReturnNoResultForNullRequest()
        {
            // Arrange
            var    sut          = new NumericRangedRequestRelay();
            object nullRequest  = null;
            var    dummyContext = new DelegatingSpecimenContext();

            // Act
            var result = sut.Create(nullRequest, dummyContext);

            // Assert
            Assert.IsType <NoSpecimen>(result);
        }
Ejemplo n.º 8
0
        public void ShouldReturnNoResultForNonSupportedRequests(object request)
        {
            // Fixture setup
            var sut     = new NumericRangedRequestRelay();
            var context = new DelegatingSpecimenContext();

            // Exercise system
            var result = sut.Create(request, context);

            // Verify outcome
            Assert.IsType <NoSpecimen>(result);
            // Teardown
        }
Ejemplo n.º 9
0
        public void ShouldReturnNoResultIfRangedRequestIsOfNonNumericMemberType(Type memberType)
        {
            // Fixture setup
            var sut     = new NumericRangedRequestRelay();
            var request = new RangedRequest(memberType, typeof(int), 0, 42);
            var context = new DelegatingSpecimenContext();

            // Exercise system
            var result = sut.Create(request, context);

            // Verify outcome
            Assert.IsType <NoSpecimen>(result);
            // Teardown
        }
Ejemplo n.º 10
0
        public void ShouldReturnNoResultForNullRequest()
        {
            // Fixture setup
            var    sut          = new NumericRangedRequestRelay();
            object nullRequest  = null;
            var    dummyContext = new DelegatingSpecimenContext();

            // Exercise system
            var result = sut.Create(nullRequest, dummyContext);

            // Verify outcome
            Assert.IsType <NoSpecimen>(result);
            // Teardown
        }
Ejemplo n.º 11
0
        public void ShouldFailWithMeaningfulExceptionIfUnableToCastWithoutOverflow()
        {
            // Arrange
            var sut = new NumericRangedRequestRelay();

            double overflowedValue = long.MaxValue;
            var    request         = new RangedRequest(typeof(long), typeof(double), 0, overflowedValue);
            var    context         = new DelegatingSpecimenContext();

            // Act & assert
            var ex = Assert.Throws <OverflowException>(() =>
                                                       sut.Create(request, context));

            Assert.Contains("To solve the issue", ex.Message);
        }
Ejemplo n.º 12
0
        public void ShouldRelayForRangedRequestsOfNumericMemberType(Type requestType)
        {
            // Arrange
            var sut = new NumericRangedRequestRelay();

            var request        = new RangedRequest(requestType, requestType, 0, 42);
            var expectedResult = new object();
            var context        = new DelegatingSpecimenContext
            {
                OnResolve =
                    r => r is RangedNumberRequest rr && rr.OperandType == requestType
                        ? expectedResult
                        : new NoSpecimen()
            };

            // Act
            var result = sut.Create(request, context);

            // Assert
            Assert.Equal(expectedResult, result);
        }
Ejemplo n.º 13
0
        public void ShouldConvertBoundaryToMemberType(Type memberType, object castedMin, object castedMax)
        {
            // Arrange
            var sut = new NumericRangedRequestRelay();

            var request               = new RangedRequest(memberType, typeof(int), 10, 42);
            var expectedResult        = new object();
            var expectedNestedRequest = new RangedNumberRequest(memberType, castedMin, castedMax);
            var context               = new DelegatingSpecimenContext
            {
                OnResolve =
                    r => r.Equals(expectedNestedRequest)
                        ? expectedResult
                        : new NoSpecimen()
            };

            // Act
            var result = sut.Create(request, context);

            // Assert
            Assert.Equal(expectedResult, result);
        }
Ejemplo n.º 14
0
        public void ShouldRelayForRangedRequestsOfNumericMemberType(Type requestType)
        {
            // Fixture setup
            var sut = new NumericRangedRequestRelay();

            var request        = new RangedRequest(requestType, requestType, 0, 42);
            var expectedResult = new object();
            var context        = new DelegatingSpecimenContext
            {
                OnResolve =
                    r => r is RangedNumberRequest rr && rr.OperandType == requestType
                        ? expectedResult
                        : new NoSpecimen()
            };

            // Exercise system
            var result = sut.Create(request, context);

            // Verify outcome
            Assert.Equal(expectedResult, result);
            // Teardown
        }
Ejemplo n.º 15
0
        public void ShouldConvertBoundaryToMemberType(Type memberType, object castedMin, object castedMax)
        {
            // Fixture setup
            var sut = new NumericRangedRequestRelay();

            var request               = new RangedRequest(memberType, typeof(int), 10, 42);
            var expectedResult        = new object();
            var expectedNestedRequest = new RangedNumberRequest(memberType, castedMin, castedMax);
            var context               = new DelegatingSpecimenContext
            {
                OnResolve =
                    r => r.Equals(expectedNestedRequest)
                        ? expectedResult
                        : new NoSpecimen()
            };

            // Exercise system
            var result = sut.Create(request, context);

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