public void Test_GetValidPropValue_WhenDateTimeAndMaxValue_WhenPropName_ShouldRetValidValue() { //---------------Set up test pack------------------- IPropDef def = new PropDefFake { PropertyType = typeof(DateTime) }; DateTime min = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(5555.0); DateTime max = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(5565.0); def.AddPropRule(TestUtilsFactory.CreatePropRuleDateTime(min, max)); var factory = new BOTestFactory(typeof(FakeBO)); //---------------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, propRule.MaxValue.Date); //---------------Execute Test ---------------------- var validPropValue = factory.GetValidPropValue(def); //---------------Test Result ----------------------- Assert.GreaterOrEqual((DateTime)validPropValue, min); Assert.LessOrEqual((DateTime)validPropValue, max); string errMessage = ""; Assert.IsTrue(def.IsValueValid(validPropValue, ref errMessage), errMessage); }
public void Test_GenerateValueGreaterThan_WhenDateTimeAndRule_RuleMoreRestrictive_ShouldRetValidValue() { //---------------Set up test pack------------------- IPropDef def = new PropDefFake { PropertyType = typeof(DateTime) }; var min = DateTime.Now; var max = DateTime.Now.AddDays(5.0); var overridingMinValue = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(9.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.GenerateValidValueGreaterThan(overridingMinValue); //---------------Test Result ----------------------- Assert.IsNotNull(value); Assert.LessOrEqual(value, max); Assert.GreaterOrEqual(value, overridingMinValue); Assert.GreaterOrEqual(value, min); }
public void Test_GenerateValue_WhenDateTimeAndRule_ShouldRetValidValue() { //---------------Set up test pack------------------- IPropDef def = new PropDefFake { PropertyType = typeof(DateTime) }; var min = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(5555.0); var max = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(5565.0); def.AddPropRule(CreatePropRuleDate(min, max)); ValidValueGenerator 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, propRule.MaxValue.Date); //---------------Execute Test ---------------------- var value = (DateTime)generator.GenerateValidValue(); //---------------Test Result ----------------------- Assert.IsNotNull(value); Assert.GreaterOrEqual(value, min); Assert.LessOrEqual(value, max); }
public void Test_GetAbsoluteMin_WhenDecimal_ReturnsTheAppropriateMinDecimal() { //---------------Set up test pack------------------- //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var absoluteMin = RandomValueGen.GetAbsoluteMin <decimal>(); //---------------Test Result ----------------------- Assert.AreEqual(decimal.MinValue, absoluteMin); }
public void Test_GetAbsoluteMin_ReturnsTheAppropriateMinForTheType(Type type, object expecteMin) { //---------------Set up test pack------------------- //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var absoluteMin = RandomValueGen.GetAbsoluteMin(type); //---------------Test Result ----------------------- Assert.AreEqual(expecteMin, absoluteMin); }
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_WhenMaxLTMinDate_ShouldRetMinDate() { //---------------Set up test pack------------------- var minDate = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(50); var maxDate = minDate.AddDays(-10); //---------------Assert Precondition---------------- Assert.Less(maxDate, minDate); //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate(minDate, maxDate); //---------------Test Result ----------------------- Assert.AreEqual(minDate.AddDays(1), randomDate); }
public void Test_GetRandomDate_WhenMaxStringOnly_ShouldRetDateBetweenMinDateAndMax() { //---------------Set up test pack------------------- var maxDate = DateTime.Today.AddDays(-70); var maxDateString = maxDate.ToShortDateString(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate(maxDateString); //---------------Test Result ----------------------- Assert.GreaterOrEqual(randomDate, RandomValueGen.GetAbsoluteMin <DateTime>()); Assert.LessOrEqual(randomDate, maxDate); }
public void Test_GetAbsoluteMin_WhenDate_ReturnsTheAppropriateMinDate() { // Redmine #1745 // Changed from using DateTime.MinValue as Sql Server can't handle this // Sql Server min date is 1/1/1753 //---------------Set up test pack------------------- var expectedAbsoluteMin = new DateTime(1753, 1, 1); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var absoluteMin = RandomValueGen.GetAbsoluteMin <DateTime>(); //---------------Test Result ----------------------- Assert.AreEqual(expectedAbsoluteMin, absoluteMin); }
public void Test_GetRandomDate_WhenMaxToday_ShouldRetDateBetweenMinDateToday() { //---------------Set up test pack------------------- var minDate = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(70); var maxDate = DateTime.Today; var minDateString = minDate.ToLongDateString(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var randomDate = RandomValueGen.GetRandomDate(minDateString, "Today"); //---------------Test Result ----------------------- Assert.GreaterOrEqual(randomDate, minDate); Assert.LessOrEqual(randomDate, maxDate); }
public void Test_GenerateValue_WhenDateTimeAndRule_ShouldRetValidValue() { IPropDef def = new PropDefFake { PropertyType = typeof(DateTime) }; var min = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(5555.0); var max = RandomValueGen.GetAbsoluteMin <DateTime>().AddDays(5565.0); def.AddPropRule(CreatePropRuleDate(min, max)); ValidValueGenerator generator = new ValidValueGeneratorDate(def); Assert.AreSame(typeof(DateTime), def.PropertyType); Assert.IsNotEmpty(def.PropRules.OfType <PropRuleDate>().ToList()); PropRuleDate propRule = def.PropRules.OfType <PropRuleDate>().First(); Assert.AreEqual(min, propRule.MinValue); Assert.AreEqual(max.AddDays(1.0).AddMilliseconds(-1.0), propRule.MaxValue); var value = (DateTime)generator.GenerateValidValue(); Assert.IsNotNull(value); Assert.GreaterOrEqual(value, min); Assert.LessOrEqual(value, max); }
private static T GetMin <T>() { return(RandomValueGen.GetAbsoluteMin <T>()); }