public void Test_GenerateValueLessThan_WhenDateTimeAndRule_WhenRuleMoreRestrictive_ShouldRetValidValue() { //---------------Set up test pack------------------- IPropDef def = new PropDefFake { PropertyType = typeof(DateTime) }; var min = DateTime.Now; var max = DateTime.Today.AddDays(5.0); var overridingMaxValue = RandomValueGen.GetAbsoluteMax <DateTime>().AddDays(-5.0); def.AddPropRule(CreatePropRuleDate(min, max)); var generator = new ValidValueGeneratorDate(def); //---------------Assert Precondition---------------- Assert.AreSame(typeof(DateTime), def.PropertyType); Assert.IsNotEmpty(def.PropRules.OfType <PropRuleDate>().ToList()); var propRule = def.PropRules.OfType <PropRuleDate>().First(); Assert.AreEqual(min, propRule.MinValue); Assert.AreEqual(max.AddDays(1.0).AddMilliseconds(-1.0), propRule.MaxValue); //---------------Execute Test ---------------------- var value = (DateTime)generator.GenerateValidValueLessThan(overridingMaxValue); //---------------Test Result ----------------------- Assert.IsNotNull(value); Assert.GreaterOrEqual(value, min); Assert.LessOrEqual(value, max); Assert.LessOrEqual(value, overridingMaxValue); }
public void Test_GetAbsoluteMax_WhenDecimal_ReturnsTheAppropriateMaxDecimal() { //---------------Set up test pack------------------- //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var absoluteMax = RandomValueGen.GetAbsoluteMax <decimal>(); //---------------Test Result ----------------------- Assert.AreEqual(decimal.MaxValue, absoluteMax); }
public void Test_GetAbsoluteMax_WhenDate_ReturnsTheAppropriateMaxDate() { //---------------Set up test pack------------------- //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var absoluteMax = RandomValueGen.GetAbsoluteMax <DateTime>(); //---------------Test Result ----------------------- Assert.AreEqual(RandomValueGen.GetAbsoluteMax <DateTime>(), absoluteMax); }
public void Test_GetAbsoluteMax_ReturnsTheAppropriateMaxForTheType(Type type, object expecteMax) { //---------------Set up test pack------------------- //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var absoluteMax = RandomValueGen.GetAbsoluteMax(type); //---------------Test Result ----------------------- Assert.AreEqual(expecteMax, absoluteMax); }
public void Test_GetRandomDate_NoMaxOrMin_ShouldRetDateBetweenMinDateAndMaxDate() { //---------------Set up test pack------------------- //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate(); //---------------Test Result ----------------------- Assert.GreaterOrEqual(randomDate, RandomValueGen.GetAbsoluteMin <DateTime>()); Assert.LessOrEqual(randomDate, RandomValueGen.GetAbsoluteMax <DateTime>()); Assert.AreNotEqual(DateTime.Today, randomDate.Date); }
public void Test_GetRandomDate_WhenMaxAndMinDate_ShouldNotRetSameDateTwice() { //---------------Set up test pack------------------- var minDate = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(50); var maxDate = RandomValueGen.GetAbsoluteMax <DateTime>().AddDays(-70); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate(minDate, maxDate); var randomDate2 = RandomValueGen.GetRandomDate(minDate, maxDate); //---------------Test Result ----------------------- Assert.AreNotEqual(randomDate, randomDate2); }
public void Test_GetRandomDate_WhenMaxAndMinDate_ShouldRetDateBetweenMinAndMax() { //---------------Set up test pack------------------- var minDate = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(50); var maxDate = RandomValueGen.GetAbsoluteMax <DateTime>().AddDays(-70); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate(minDate, maxDate); //---------------Test Result ----------------------- Assert.GreaterOrEqual(randomDate, minDate); Assert.LessOrEqual(randomDate, maxDate); }
public void Test_GetRandomDate_WhenMinToday_ShouldRetDateBetweenTodayAndMaxDate() { //---------------Set up test pack------------------- var minDate = DateTime.Today; var maxDate = RandomValueGen.GetAbsoluteMax <DateTime>().AddDays(-70); var maxDateString = maxDate.ToLongDateString(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate("Today", maxDateString); //---------------Test Result ----------------------- Assert.GreaterOrEqual(randomDate, minDate); Assert.LessOrEqual(randomDate, maxDate); Assert.AreNotEqual(RandomValueGen.GetRandomDate("Today", maxDateString), randomDate, "Should not produce same date twice"); }
public void Test_GetRandomDate_WhenInvalidMaxDateString_ShouldRetDateBetweenMinDateAndMaxDate() { //---------------Set up test pack------------------- var minDate = DateTime.Today.AddDays(50); var maxDate = RandomValueGen.GetAbsoluteMax <DateTime>(); var minDateString = minDate.ToShortDateString(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate(minDateString, "InvalidString"); //---------------Test Result ----------------------- Assert.GreaterOrEqual(randomDate, minDate); Assert.LessOrEqual(randomDate, maxDate); Assert.AreNotEqual(DateTime.Today, randomDate.Date); }
public void Test_GenerateValueGreaterThan_WhenDateTimeAndNoRule_ShouldRetValidValue() { //---------------Set up test pack------------------- IPropDef def = new PropDefFake { PropertyType = typeof(DateTime) }; var generator = new ValidValueGeneratorDate(def); var overridingMinValue = RandomValueGen.GetAbsoluteMax <DateTime>().AddDays(-9.0); //---------------Assert Precondition---------------- Assert.AreSame(typeof(DateTime), def.PropertyType); Assert.IsEmpty(def.PropRules.OfType <PropRuleDate>().ToList()); //---------------Execute Test ---------------------- var value = (DateTime)generator.GenerateValidValueGreaterThan(overridingMinValue); //---------------Test Result ----------------------- Assert.IsNotNull(value); Assert.GreaterOrEqual(value, overridingMinValue); }
private static T GetMax <T>() { return(RandomValueGen.GetAbsoluteMax <T>()); }