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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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>());
 }