public void GenerateCanReturnNullAndRandomValuesTest() { var nullFound = false; var valueFound = false; var target = new DateOfBirthValueGenerator(); for (var index = 0; index < 1000; index++) { var value = (DateTime?) target.Generate(typeof(DateTime?), "dob", null); if (value == null) { nullFound = true; } else { valueFound = true; } if (nullFound && valueFound) { break; } } nullFound.Should().BeTrue(); valueFound.Should().BeTrue(); }
public void AllowNullDeterminesWhetherNullCanBeReturned(bool allowNull) { var nullFound = false; var executeStrategy = Substitute.For <IExecuteStrategy>(); var buildChain = new BuildHistory(); executeStrategy.BuildChain.Returns(buildChain); var sut = new DateOfBirthValueGenerator { AllowNull = allowNull }; for (var index = 0; index < 10000; index++) { var value = sut.Generate(executeStrategy, typeof(DateTime?)); if (value == null) { nullFound = true; break; } } nullFound.Should().Be(allowNull); }
public void GenerateThrowsExceptionWithInvalidParametersTest(Type type, string referenceName) { var target = new DateOfBirthValueGenerator(); Action action = () => target.Generate(type, referenceName, null); action.ShouldThrow<NotSupportedException>(); }
public void GenerateReturnsRandomDateTimeValueWithinLast100YearsTest() { var target = new DateOfBirthValueGenerator(); var first = target.Generate(typeof(DateTime), "dob", null); first.Should().BeOfType<DateTime>(); first.As<DateTime>().Should().BeBefore(DateTime.UtcNow); first.As<DateTime>().Should().BeAfter(DateTime.UtcNow.AddYears(-100)); first.As<DateTime>().Kind.Should().Be(DateTimeKind.Utc); var second = target.Generate(typeof(DateTime), "dob", null); first.Should().NotBe(second); }
public void AllowNullReturnsFalseByDefault() { var sut = new DateOfBirthValueGenerator(); sut.AllowNull.Should().BeFalse(); }
public void GenerateThrowsExceptionWithNullTypeTest() { var target = new DateOfBirthValueGenerator(); Action action = () => target.Generate(null, null, null); action.ShouldThrow<ArgumentNullException>(); }
public void IsSupportedTest(Type type, string referenceName, bool expected) { var target = new DateOfBirthValueGenerator(); var actual = target.IsSupported(type, referenceName, null); actual.Should().Be(expected); }
public void HasHigherPriorityThanDateTimeValueGeneratorTest() { var target = new DateOfBirthValueGenerator(); var other = new DateTimeValueGenerator(); target.Priority.Should().BeGreaterThan(other.Priority); }