public void TimeOfDayModelClass_WriteXmlMethod_ThrowsArgumentNullException_IfParameterIsNull()
        {
            TimeOfDayModel testObject = new TimeOfDayModel();

            testObject.WriteXml(null);

            Assert.Fail();
        }
        public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ThrowsNullReferenceException_IfParameterIsNull()
        {
            TimeOfDayModel testParam = null;

            _ = testParam.ToTimeOfDay();

            Assert.Fail();
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Convert a <see cref="TimeOfDayModel"/> instance to a <see cref="TimeOfDay"/> instance.
 /// </summary>
 /// <param name="model">The object to convert.</param>
 /// <returns>The <see cref="TimeOfDay"/> object.</returns>
 public static TimeOfDay ToTimeOfDay(this TimeOfDayModel model)
 {
     if (model == null)
     {
         return(null);
     }
     return(new TimeOfDay(model.Hours24, model.Minutes, model.Seconds));
 }
        public void TimeOfDayExtensions_ToYamlTimeOfDayModelMethod_ReturnsNull_IfParameterIsNull()
        {
            TimeOfDay testParam = null;

            TimeOfDayModel testOutput = testParam.ToYamlTimeOfDayModel();

            Assert.IsNull(testOutput);
        }
        public void TimeofDayModelExtensionsClass_ToTimeOfDayMethod_ThrowsFormatException_IfParameterConsistsOfNonNumericString()
        {
            TimeOfDaySpecification timeOfDaySpecification = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.NonNumericValue);
            TimeOfDayModel         testParam = timeOfDaySpecification.Model;

            _ = testParam.ToTimeOfDay();

            Assert.Fail();
        }
        public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ThrowsFormatException_IfParameterHasTimePropertyThatIsSolelyWhitespace()
        {
            TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.WhitespaceValue);
            TimeOfDayModel         testParam     = testParamSpec.Model;

            _ = testParam.ToTimeOfDay();

            Assert.Fail();
        }
        public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ReturnsObjectWithCorrectValue_IfParameterConsistsOfNumberInRangeWithNoColons()
        {
            TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursOnly);
            TimeOfDayModel         testParam     = testParamSpec.Model;

            TimeOfDay testOutput = testParam.ToTimeOfDay();

            Assert.AreEqual(testParamSpec.Hours.Value * 3600, testOutput.AbsoluteSeconds);
            Assert.AreEqual(testParamSpec.Hours.Value, testOutput.Hours24);
            Assert.AreEqual(0, testOutput.Minutes);
            Assert.AreEqual(0, testOutput.Seconds);
        }
        public void TimeOfDayExtensions_ToYamlTimeOfDayModelMethod_ReturnsObjectWithCorrectTimeProperty_IfParameterIsNotNull()
        {
            TimeOfDay testParam = GetTestObject();

            TimeOfDayModel testOutput = testParam.ToYamlTimeOfDayModel();

            string expectedValue = testParam.Hours24.ToString("d2", CultureInfo.InvariantCulture) + ":" +
                                   testParam.Minutes.ToString("d2", CultureInfo.InvariantCulture) + ":" +
                                   testParam.Seconds.ToString("d2", CultureInfo.InvariantCulture);

            Assert.AreEqual(expectedValue, testOutput.Time);
        }
        public void TimeOfDayModelExtensionsClass_ToTimeOfDayMethod_ReturnsObjectWithCorrectValue_IfParameterConsistsOfTwoNumbersInRangeSeparatedByColon()
        {
            TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursAndMinutes);
            int            expectedSeconds       = testParamSpec.Hours.Value * 3600 + testParamSpec.Minutes.Value * 60;
            TimeOfDayModel testParam             = testParamSpec.Model;

            TimeOfDay testOutput = testParam.ToTimeOfDay();

            Assert.AreEqual(expectedSeconds, testOutput.AbsoluteSeconds);
            Assert.AreEqual(testParamSpec.Hours.Value % 24, testOutput.Hours24);
            Assert.AreEqual(testParamSpec.Minutes.Value % 60, testOutput.Minutes);
            Assert.AreEqual(0, testOutput.Seconds);
        }
        public void TimeOfDayModelClass_WriteXmlMethod_ThrowsArgumentNullExceptionWithCorrectParamNameProperty_IfParameterIsNull()
        {
            TimeOfDayModel testObject = new TimeOfDayModel();

            try
            {
                testObject.WriteXml(null);
                Assert.Fail();
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("writer", ex.ParamName);
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Convert a <see cref="TimeOfDayModel" /> instance to a <see cref="TimeOfDay" /> instance.
        /// </summary>
        /// <param name="model">The instance to be converted.</param>
        /// <returns>A <see cref="TimeOfDay" /> object containing equivalent properties.</returns>
        /// <exception cref="NullReferenceException">Thrown if the <c>this</c> parameter is <c>null</c>.</exception>
        public static TimeOfDay ToTimeOfDay(this TimeOfDayModel model)
        {
            if (model is null)
            {
                throw new NullReferenceException();
            }

            if (string.IsNullOrWhiteSpace(model.Time))
            {
                throw new FormatException(Resources.Error_EmptyTime);
            }
            string[] parts   = model.Time.Split(':');
            int      hours   = 0;
            int      minutes = 0;
            int      seconds = 0;

            try
            {
                if (parts.Length > 0)
                {
                    hours = int.Parse(parts[0], CultureInfo.InvariantCulture);
                }
                if (parts.Length > 1)
                {
                    minutes = int.Parse(parts[1], CultureInfo.InvariantCulture);
                }
                if (parts.Length > 2)
                {
                    seconds = int.Parse(parts[2], CultureInfo.InvariantCulture);
                }
            }
            catch (FormatException ex)
            {
                throw new FormatException(Resources.Error_TimeUnparseable, ex);
            }
            catch (OverflowException ex)
            {
                throw new FormatException(Resources.Error_TimeUnparseable, ex);
            }

            return(new TimeOfDay(hours, minutes, seconds));
        }