public void ToWorkModelClass_WriteXmlMethod_ThrowsArgumentNullException_IfParameterIsNull()
        {
            ToWorkModel testObject = new ToWorkModel();

            testObject.WriteXml(null);

            Assert.Fail();
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ThrowsNullReferenceException_IfParameterIsNull()
        {
            ToWorkModel testParam = null;

            _ = testParam.ToToWork();

            Assert.Fail();
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ReturnsObjectWithCorrectTextProperty_IfTextPropertyOfParameterIsNotNull()
        {
            ToWorkModel testParam = GetModel();

            ToWork testOutput = testParam.ToToWork();

            Assert.AreEqual(testParam.Text, testOutput.Text);
        }
Example #4
0
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ThrowsArgumentNullException_IfParameterIsNull()
        {
            ToWorkModel testObject = null;

            _ = testObject.ToToWork();

            Assert.Fail();
        }
Example #5
0
        public void ToWorkExtensionsClass_ToYamlToWorkModelMethod_ReturnsObjectWithCorrectTextProperty_IfParameterHasTextPropertyThatIsNotNull()
        {
            ToWork testParam = GetTestObject();

            ToWorkModel testOutput = testParam.ToYamlToWorkModel();

            Assert.AreEqual(testParam.Text, testOutput.Text);
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ReturnsObjectWithAtTimePropertyEqualToNull_IfAtPropertyOfParameterIsNull()
        {
            ToWorkModel testParam = GetModel();

            testParam.At = null;

            ToWork testOutput = testParam.ToToWork();

            Assert.IsNull(testOutput.AtTime);
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ReturnsObjectWithNullTextProperty_IfTextPropertyOfParameterIsNull()
        {
            ToWorkModel testParam = GetModel();

            testParam.Text = null;

            ToWork testOutput = testParam.ToToWork();

            Assert.IsNull(testOutput.Text);
        }
Example #8
0
        public void ToWorkExtensionsClass_ToYamlToWorkModelMethod_ReturnsObjectWithAtPropertyEqualToNull_IfParameterHasAtTimePropertyThatIsNotNull()
        {
            ToWork testParam = GetTestObject();

            testParam.AtTime = null;

            ToWorkModel testOutput = testParam.ToYamlToWorkModel();

            Assert.IsNull(testOutput.At);
        }
Example #9
0
        public void ToWorkExtensionsClass_ToYamlToWorkModelMethod_ReturnsObjectWithAtPropertyWithCorrectTimeProperty_IfParameterHasAtTimePropertyThatIsNotNull()
        {
            ToWork testParam = GetTestObject();

            ToWorkModel testOutput = testParam.ToYamlToWorkModel();

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

            Assert.AreEqual(expectedValue, testOutput.At.Time);
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ThrowsFormatException_IfParameterHasAtPropertyWithTimePropertyThatIsSolelyWhitespace()
        {
            ToWorkModel testParam = GetModel();

            testParam.At = new TimeOfDayModel {
                Time = _rnd.NextString(" \t\f\n", _rnd.Next(1, 10))
            };

            _ = testParam.ToToWork();

            Assert.Fail();
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ThrowsFormatException_IfParameterHasAtPropertyWithTimePropertyThatIsEmptyString()
        {
            ToWorkModel testParam = GetModel();

            testParam.At = new TimeOfDayModel {
                Time = ""
            };

            _ = testParam.ToToWork();

            Assert.Fail();
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ThrowsFormatException_IfParameterHasAtPropertyWithTimePropertyThatConsistsOfNonNumericString()
        {
            string      notATime  = _rnd.NextString("abcdefghijklmnopqrstuvwxzy:", _rnd.Next(1, 50));
            ToWorkModel testParam = GetModel();

            testParam.At = new TimeOfDayModel {
                Time = notATime
            };

            _ = testParam.ToToWork();

            Assert.Fail();
        }
        public void ToWorkModelClass_WriteXmlMethod_ThrowsArgumentNullExceptionWithCorrectParamNameProperty_IfParameterIsNull()
        {
            ToWorkModel testObject = new ToWorkModel();

            try
            {
                testObject.WriteXml(null);
                Assert.Fail();
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("writer", ex.ParamName);
            }
        }
Example #14
0
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ThrowsArgumentNullExceptionWithCorrectParamNameProperty_IfParameterIsNull()
        {
            ToWorkModel testObject = null;

            try
            {
                _ = testObject.ToToWork();
                Assert.Fail();
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("model", ex.ParamName);
            }
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ReturnsObjectWithCorrectAtTimeProperty_IfParameterHasAtPropertyWithTimePropertyThatConsistsOfNumberInRangeWithNoColons()
        {
            int         hoursValue = _rnd.Next(24);
            ToWorkModel testParam  = GetModel();

            testParam.At = new TimeOfDayModel {
                Time = hoursValue.ToString(CultureInfo.InvariantCulture)
            };

            ToWork testOutput = testParam.ToToWork();

            Assert.AreEqual(hoursValue * 3600, testOutput.AtTime.AbsoluteSeconds);
            Assert.AreEqual(hoursValue, testOutput.AtTime.Hours24);
            Assert.AreEqual(0, testOutput.AtTime.Minutes);
            Assert.AreEqual(0, testOutput.AtTime.Seconds);
        }
        /// <summary>
        /// Convert a <see cref="ToWork" /> instance into a <see cref="ToWorkModel" /> instance.
        /// </summary>
        /// <param name="data">The object to be converted.</param>
        /// <returns>A <see cref="ToWorkModel" /> instance containing the same data as the parameter.</returns>
        public static ToWorkModel ToToWorkModel(this ToWork data)
        {
            if (data is null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            ToWorkModel model = new ToWorkModel {
                Text = data.Text
            };

            if (data.AtTime != null)
            {
                model.AtTime = data.AtTime.ToTimeOfDayModel();
            }
            return(model);
        }
        /// <summary>
        /// Convert a <see cref="ToWorkModel" /> object into a <see cref="ToWork" /> object.
        /// </summary>
        /// <param name="model">The data to be converted.</param>
        /// <returns>A <see cref="ToWork" /> instance which is equivalent to the object.</returns>
        public static ToWork ToToWork(this ToWorkModel model)
        {
            if (model is null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            ToWork output = new ToWork {
                Text = model.Text
            };

            if (model.AtTime != null)
            {
                output.AtTime = model.AtTime.ToTimeOfDay();
            }
            return(output);
        }
        /// <summary>
        /// Convert a <see cref="ToWorkModel" /> instance to a <see cref="ToWork" /> instance.
        /// </summary>
        /// <param name="model">The object to be converted.</param>
        /// <returns>A <see cref="ToWork" /> instance that contains the same data as the parameter.</returns>
        /// <exception cref="NullReferenceException">Thrown if the parameter is <c>null</c>.</exception>
        public static ToWork ToToWork(this ToWorkModel model)
        {
            if (model is null)
            {
                throw new NullReferenceException();
            }

            ToWork output = new ToWork {
                Text = model.Text
            };

            if (model.At != null)
            {
                output.AtTime = model.At.ToTimeOfDay();
            }
            return(output);
        }
        public void ToWorkModelExtensionsClass_ToToWorkMethod_ReturnsObjectWithCorrectAtTimeProperty_IfParameterHasAtPropertyWithTimePropertyThatConsistsOfTwoNumbersInRangeSeparatedByColon()
        {
            int         hoursValue      = _rnd.Next(24);
            int         minutesValue    = _rnd.Next(60);
            int         expectedSeconds = hoursValue * 3600 + minutesValue * 60;
            ToWorkModel testParam       = GetModel();

            testParam.At =
                new TimeOfDayModel {
                Time = hoursValue.ToString(CultureInfo.InvariantCulture) + ":" + minutesValue.ToString(CultureInfo.InvariantCulture)
            };

            ToWork testOutput = testParam.ToToWork();

            Assert.AreEqual(expectedSeconds, testOutput.AtTime.AbsoluteSeconds);
            Assert.AreEqual(hoursValue % 24, testOutput.AtTime.Hours24);
            Assert.AreEqual(minutesValue % 60, testOutput.AtTime.Minutes);
            Assert.AreEqual(0, testOutput.AtTime.Seconds);
        }