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 TrainTimeModelExtensionsClass_ToTrainTimeMethod_ThrowsFormatException_IfFirstParameterHasAtPropertyWithTimePropertyThatIsNonNumericString()
        {
            TrainTimeModel         testParam0    = GetTestObject();
            TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.NonNumericValue);

            testParam0.At = testParamSpec.Model;
            Dictionary <string, Note> testParam1 = new Dictionary <string, Note>();

            _ = testParam0.ToTrainTime(testParam1);

            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 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 TrainTimeModelExtensionsClass_ToTrainTimeMethod_ReturnsObjectWithCorrectTimeProperty_IfFirstParameterHasAtPropertyWithTimePropertyThatIsMoreThanThreeNumbersInRangeSeparatedByColons()
        {
            TrainTimeModel         testParam0    = GetTestObject();
            TimeOfDaySpecification testParamSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursMinutesSecondsAndMore);

            testParam0.At = testParamSpec.Model;
            Dictionary <string, Note> testParam1 = GetNoteDictionaryWithContents(testParam0.FootnoteIds);

            TrainTime testOutput = testParam0.ToTrainTime(testParam1);

            Assert.AreEqual(testParamSpec.Hours.Value, testOutput.Time.Hours24);
            Assert.AreEqual(testParamSpec.Minutes.Value, testOutput.Time.Minutes);
            Assert.AreEqual(testParamSpec.Seconds.Value, testOutput.Time.Seconds);
        }
        public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithEndTimePropertyWithCorrectValue_IfFirstParameterHasFinishTimePropertyThatHasTimePropertyThatConsistsOfMoreThanThreeNumbersInRangeSeparatedByColons()
        {
            SignalboxHoursModel    testParam0 = GetTestObject();
            TimeOfDaySpecification finishTimeSpecification = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursMinutesSecondsAndMore);

            testParam0.FinishTime = finishTimeSpecification.Model;
            IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId);

            SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1);

            Assert.AreEqual(finishTimeSpecification.Hours.Value, testOutput.EndTime.Hours24);
            Assert.AreEqual(finishTimeSpecification.Minutes.Value, testOutput.EndTime.Minutes);
            Assert.AreEqual(finishTimeSpecification.Seconds.Value, testOutput.EndTime.Seconds);
        }
        public void SignalboxHoursModelExtensionsClass_ToSignalboxHoursMethod_ReturnsObjectWithStartTimePropertyWithCorrectValue_IfFirstParameterHasStartTimePropertyThatHasTimePropertyThatConsistsOfNumberInRangeWithNoColons()
        {
            SignalboxHoursModel    testParam0             = GetTestObject();
            TimeOfDaySpecification startTimeSpecification = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursOnly);

            testParam0.StartTime = startTimeSpecification.Model;
            IDictionary <string, Signalbox> testParam1 = GetSignalboxCollectionWithItem(testParam0.SignalboxId);

            SignalboxHours testOutput = testParam0.ToSignalboxHours(testParam1);

            Assert.AreEqual(startTimeSpecification.Hours.Value, testOutput.StartTime.Hours24);
            Assert.AreEqual(0, testOutput.StartTime.Minutes);
            Assert.AreEqual(0, testOutput.StartTime.Seconds);
        }
        private static TrainTimeModel GetTestObject()
        {
            TimeOfDaySpecification timeSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursMinutesSeconds);
            TrainTimeModel         model    = new TrainTimeModel {
                At = timeSpec.Model
            };
            int noteCount = _rnd.Next(5);

            for (int i = 0; i < noteCount; ++i)
            {
                string noteId;
                do
                {
                    noteId = _rnd.NextHexString(8);
                } while (model.FootnoteIds.Contains(noteId));
                model.FootnoteIds.Add(noteId);
            }
            return(model);
        }
Exemple #10
0
        public void SignalboxHoursSetModelExtensionsClass_ToSignalboxHoursSetMethod_ReturnsObjectWithHoursPropertyContainingElementsWithCorrectEndTimeProperty_IfFirstParameterHasSignalboxesPropertyContainingElementsWithFinishTimePropertiesThatHaveTimePropertyThatIsMoreThanThreeNumbersWithinRangeSeparatedByColons()
        {
            SignalboxHoursSetModel                      testParam0 = GetTestObject();
            IDictionary <string, Signalbox>             testParam1 = GetSignalboxCollectionWithItems(testParam0.Signalboxes.Select(s => s.SignalboxId));
            IEnumerable <SignalboxHoursSet>             testParam2 = GetExistingSets();
            Dictionary <string, TimeOfDaySpecification> timeSpecs  = new Dictionary <string, TimeOfDaySpecification>();

            foreach (SignalboxHoursModel box in testParam0.Signalboxes)
            {
                TimeOfDaySpecification timeSpec = new TimeOfDaySpecification(TimeOfDaySpecification.TimeOfDaySpecificationKind.HoursMinutesSecondsAndMore);
                box.FinishTime = timeSpec.Model;
                timeSpecs.Add(box.SignalboxId, timeSpec);
            }

            SignalboxHoursSet testOutput = testParam0.ToSignalboxHoursSet(testParam1, testParam2);

            foreach (string id in testParam0.Signalboxes.Select(s => s.SignalboxId))
            {
                Assert.AreEqual(timeSpecs[id].Hours.Value, testOutput.Hours[id].EndTime.Hours24);
                Assert.AreEqual(timeSpecs[id].Minutes.Value, testOutput.Hours[id].EndTime.Minutes);
                Assert.AreEqual(timeSpecs[id].Seconds.Value, testOutput.Hours[id].EndTime.Seconds);
            }
        }