public void SutShouldBeASpecimenBuilder() { // Arrange var sut = new NumericRangedRequestRelay(); // Act & assert Assert.IsAssignableFrom <ISpecimenBuilder>(sut); }
public void SutShouldBeASpecimenBuilder() { // Fixture setup var sut = new NumericRangedRequestRelay(); // Exercise system and Verify outcome Assert.IsAssignableFrom <ISpecimenBuilder>(sut); // Teardown }
public void ShouldFailWithArgumentNullExceptionForNullContext() { // Arrange var sut = new NumericRangedRequestRelay(); var request = new object(); ISpecimenContext nullContext = null; // Act & assert Assert.Throws <ArgumentNullException>(() => sut.Create(request, nullContext)); }
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); }
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 }
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); }
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); }
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 }
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 }
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 }
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); }
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); }
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); }
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 }
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 }