Пример #1
0
        public void ParseMonthAndYear()
        {
            System.DateTime baseDateTime = System.DateTime.Now;

            NhsDate date = new NhsDate(baseDateTime);

            date.DateType = DateType.YearMonth;
            date.Year     = 1974;
            date.Month    = 3;

            NhsDate parsedDate;

            Assert.IsTrue(NhsDate.TryParseExact("jan-2008", out parsedDate, CultureInfo.InvariantCulture), "Try parse failed");
            Assert.AreEqual(parsedDate.Month, 1, "Month not being parsed");
            Assert.AreEqual(parsedDate.Year, 2008, "Month not being parsed");

            Assert.IsTrue(NhsDate.TryParseExact("january-2008", out parsedDate, CultureInfo.InvariantCulture), "Try parse failed");
            Assert.AreEqual(parsedDate.Month, 1, "Month not being parsed");
            Assert.AreEqual(parsedDate.Year, 2008, "Month not being parsed");

            Assert.IsTrue(NhsDate.TryParseExact("1-2008", out parsedDate, CultureInfo.InvariantCulture), "Try parse failed");
            Assert.AreEqual(parsedDate.Month, 1, "Month not being parsed");
            Assert.AreEqual(parsedDate.Year, 2008, "Month not being parsed");

            Assert.IsTrue(NhsDate.TryParseExact("10-2008", out parsedDate, CultureInfo.InvariantCulture), "Try parse failed");
            Assert.AreEqual(parsedDate.Month, 10, "Month not being parsed");
            Assert.AreEqual(parsedDate.Year, 2008, "Month not being parsed");

            Assert.IsTrue(NhsDate.TryParseExact(date.ToString(), out parsedDate, CultureInfo.InvariantCulture), string.Format(CultureInfo.InvariantCulture, "TryParse failed with date, {0}", date.ToString()));

            Assert.AreEqual(date.Month, parsedDate.Month, "Parse did not error but Month does not match");
            Assert.AreEqual(date.DateType, parsedDate.DateType, "Parse did not error but DateType does not match");
            Assert.AreEqual(date.Year, parsedDate.Year, "Parse did not error but Year does not match");
        }
Пример #2
0
        /// <summary>
        /// Check if the ControlToValidate is valid
        /// </summary>
        /// <returns>True if control properties is valid</returns>
        protected override bool EvaluateIsValid()
        {
            string       value   = this.GetControlValidationValue(this.ControlToValidate);
            DateInputBox control = this.NamingContainer.FindControl(this.ControlToValidate) as DateInputBox;

            if (value.Length == 0)
            {
                return(true);
            }

            if (value == this.WatermarkText)
            {
                // Essentially box is empty so return valid
                return(true);
            }

            // Don't raise an error for Today, Tomorrow if value is also the same.
            if (value == control.Value.ToString(control.DisplayDayOfWeek, false, control.DisplayDateAsText, CultureInfo.CurrentCulture))
            {
                return(true);
            }

            NhsDate tryParseResult;

            if (!NhsDate.TryParseExact(value, out tryParseResult, System.Threading.Thread.CurrentThread.CurrentCulture))
            {
                control.Value.DateType = DateType.Null;
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// Check if the ControlToValidate is valid
        /// </summary>
        /// <returns>True if control properties is valid</returns>
        protected override bool EvaluateIsValid()
        {
            string value = this.GetControlValidationValue(this.ControlToValidate);

            NhsDate tryParseResult;

            return(NhsDate.TryParseExact(value, out tryParseResult, System.Threading.Thread.CurrentThread.CurrentCulture));
        }
Пример #4
0
        public void TryParseFailures()
        {
            NhsDate result;

            Assert.IsFalse(NhsDate.TryParseExact("31-12", out result, CultureInfo.CurrentCulture));

            Assert.IsFalse(NhsDate.TryParseExact("01-2008", out result, CultureInfo.CurrentCulture));

            Assert.IsFalse(NhsDate.TryParseExact("-12", out result, CultureInfo.CurrentCulture));
        }
Пример #5
0
        public void ParseDateText()
        {
            NhsDate date = new NhsDate("26-March-1974");

            NhsDate parsedDate;

            Assert.IsTrue(NhsDate.TryParseExact(date.ToString(), out parsedDate, CultureInfo.InvariantCulture), string.Format(CultureInfo.InvariantCulture, "TryParse failed with date, {0}", date.ToString()));

            Assert.AreEqual(date.DateType, parsedDate.DateType, "Parse did not error but DateType does not match");
            Assert.AreEqual(date.DateValue, parsedDate.DateValue, "Parse did not error but DateValue does not match");
        }
Пример #6
0
        public void ParseInvalidNullIndex()
        {
            NhsDate parsedDate;

            string invalidNullIndexString = "Null:-256";

            Assert.IsFalse(NhsDate.TryParseExact(invalidNullIndexString, out parsedDate, CultureInfo.InvariantCulture), string.Format(CultureInfo.InvariantCulture, "TryParse failed to return false with string of, {0}", invalidNullIndexString));

            invalidNullIndexString = "Null:124";

            Assert.IsFalse(NhsDate.TryParseExact(invalidNullIndexString, out parsedDate, CultureInfo.InvariantCulture), string.Format(CultureInfo.InvariantCulture, "TryParse failed to return false with string of, {0}", invalidNullIndexString));
        }
Пример #7
0
        public void ParseNullIndex()
        {
            NhsDate date = new NhsDate();

            date.DateType  = DateType.NullIndex;
            date.NullIndex = 14;

            // Muddy the water by assigning Month and year
            date.Year  = 2007;
            date.Month = 3;

            NhsDate parsedDate;

            Assert.IsTrue(NhsDate.TryParseExact(date.ToString(), out parsedDate, CultureInfo.InvariantCulture), string.Format(CultureInfo.InvariantCulture, "TryParse failed with date, {0}", date.ToString()));

            Assert.AreEqual(date.DateType, parsedDate.DateType, "Parse did not error but DateType does not match");
            Assert.AreEqual(date.NullIndex, parsedDate.NullIndex, "Parse did not error but NullIndex does not match");
        }