/// <summary> /// Create a random date and time in the given range /// </summary> /// <returns>Random value maximum of two years ago</returns> public static DateTime RandDatetime(DateTime minDate, DateTime maxDate) { var fixture = new Fixture(); var dateTimeSequenceGenerator = new RandomDateTimeSequenceGenerator(minDate, maxDate); fixture.Customizations.Add(dateTimeSequenceGenerator); return(fixture.Create <DateTime>()); }
/// <summary> /// Create a random date and time in the future /// </summary> /// <returns>Random value max of two years in the future</returns> public static DateTime RandFutureDateTime() { var fixture = new Fixture(); var dateTimeSequenceGenerator = new RandomDateTimeSequenceGenerator(DateTime.Now.AddDays(1), DateTime.Now.AddYears(2)); fixture.Customizations.Add(dateTimeSequenceGenerator); return(fixture.Create <DateTime>()); }
public void CreateWithNullContextThrowsArgumentNullException() { // Arrange var sut = new RandomDateTimeSequenceGenerator(); // Act & assert Assert.Throws <ArgumentNullException>( () => sut.Create(typeof(DateTime), null)); }
public static DateTime GenerateDateInPast(IFixture fixture) { var prevDays = new RandomDateTimeSequenceGenerator(DateTime.Today.AddYears(-30), DateTime.Today.AddYears(-5)); using (new CustomizationClosure(fixture, prevDays)) { return(fixture.Create <DateTime>()); } }
public void SutIsSpecimenBuilder() { // Arrange // Act var sut = new RandomDateTimeSequenceGenerator(); // Assert Assert.IsAssignableFrom <ISpecimenBuilder>(sut); }
public static DateTime GenerateDateInFuture(IFixture fixture) { var nextDays = new RandomDateTimeSequenceGenerator(DateTime.Today.AddYears(5), DateTime.Today.AddYears(30)); using (new CustomizationClosure(fixture, nextDays)) { return(fixture.Create <DateTime>()); } }
public void SutIsSpecimenBuilder() { // Fixture setup // Exercise system var sut = new RandomDateTimeSequenceGenerator(); // Verify outcome Assert.IsAssignableFrom <ISpecimenBuilder>(sut); // Teardown }
public void CreateWithNullContextThrowsArgumentNullException() { // Fixture setup var sut = new RandomDateTimeSequenceGenerator(); // Exercise system and verify outcome Assert.Throws <ArgumentNullException>( () => sut.Create(typeof(DateTime), null)); // Teardown }
public void CreateWithDateTimeRequestReturnsDateTimeValue() { // Arrange var sut = new RandomDateTimeSequenceGenerator(); // Act var dummyContainer = new DelegatingSpecimenContext(); var result = sut.Create(typeof(DateTime), dummyContainer); // Assert Assert.IsAssignableFrom <DateTime>(result); }
public void CreateWithNonDateTimeTypeRequestReturnsNoSpecimen(Type request) { // Arrange var sut = new RandomDateTimeSequenceGenerator(); // Act var dummyContainer = new DelegatingSpecimenContext(); var result = sut.Create(request, dummyContainer); // Assert Assert.Equal(new NoSpecimen(), result); }
public void CreateWithNullRequestReturnsNoSpecimen() { // Fixture setup var sut = new RandomDateTimeSequenceGenerator(); // Exercise system var dummyContainer = new DelegatingSpecimenContext(); var result = sut.Create(null, dummyContainer); // Verify outcome Assert.Equal(new NoSpecimen(), result); // Teardown }
public void CreateWithDateTimeRequestReturnsDateTimeValue() { // Fixture setup var sut = new RandomDateTimeSequenceGenerator(); // Exercise system var dummyContainer = new DelegatingSpecimenContext(); var result = sut.Create(typeof(DateTime), dummyContainer); // Verify outcome Assert.IsAssignableFrom <DateTime>(result); // Teardown }
public void CreateWithDateTimeRequestAndDateRangeReturnsDateWithinThatRange() { // Arrange var minDate = DateTime.Now; var maxDate = minDate.AddDays(3); var sut = new RandomDateTimeSequenceGenerator(minDate, maxDate); // Act var dummyContainer = new DelegatingSpecimenContext(); var result = (DateTime)sut.Create(typeof(DateTime), dummyContainer); // Assert Assert.InRange(result, minDate, maxDate); }
public void CreateWithDateTimeRequestReturnsADateWithinARangeOfPlusMinusTwoYearsFromToday() { // Arrange var twoYearsAgo = DateTime.Today.AddYears(-2); var twoYearsForward = DateTime.Today.AddYears(2); var sut = new RandomDateTimeSequenceGenerator(); // Act var dummyContainer = new DelegatingSpecimenContext(); var result = (DateTime)sut.Create(typeof(DateTime), dummyContainer); // Assert Assert.InRange(result, twoYearsAgo, twoYearsForward); }
public void CreateWithNonDateTimeTypeRequestReturnsNoSpecimen(Type request) { // Fixture setup var sut = new RandomDateTimeSequenceGenerator(); // Exercise system var dummyContainer = new DelegatingSpecimenContext(); var result = sut.Create(request, dummyContainer); // Verify outcome #pragma warning disable 618 Assert.Equal(new NoSpecimen(request), result); #pragma warning restore 618 // Teardown }
public void CreateWithDateTimeRequestAndDateRangeReturnsDateWithinThatRange() { // Fixture setup var minDate = DateTime.Now; var maxDate = minDate.AddDays(3); var sut = new RandomDateTimeSequenceGenerator(minDate, maxDate); // Exercise system var dummyContainer = new DelegatingSpecimenContext(); var result = (DateTime)sut.Create(typeof(DateTime), dummyContainer); // Verify outcome Assert.InRange(result, minDate, maxDate); // Teardown }
public void CreateWithDateTimeRequestReturnsADateWithinARangeOfPlusMinusTwoYearsFromToday() { // Fixture setup var twoYearsAgo = DateTime.Today.AddYears(-2); var twoYearsForward = DateTime.Today.AddYears(2); var sut = new RandomDateTimeSequenceGenerator(); // Exercise system var dummyContainer = new DelegatingSpecimenContext(); var result = (DateTime)sut.Create(typeof(DateTime), dummyContainer); // Verify outcome Assert.InRange(result, twoYearsAgo, twoYearsForward); // Teardown }
public void CreateWithMultipleDateTimeRequestsReturnsDifferentDates() { // Arrange const int requestCount = 10; var times = Enumerable.Range(1, requestCount); var sut = new RandomDateTimeSequenceGenerator(); // Act var dummyContainer = new DelegatingSpecimenContext(); var results = times .Select(t => sut.Create(typeof(DateTime), dummyContainer)) .Cast <DateTime>(); // Assert Assert.Equal(requestCount, results.Distinct().Count()); }