Esempio n. 1
0
        public void TestDurationWithSpeedCurve()
        {
            var testSeconds = 5.0;

            var instance = new DurationsData(null);
            var data1004 = instance.GetData(1004);

            data1004.Should().BeNull();
            const string blockName = "B01[+]";

            for (var i = 0; i < 100; ++i)
            {
                instance.AddDecelerateDuration(1004, blockName, DateTime.Now, DateTime.Now + TimeSpan.FromSeconds(testSeconds)).Should().BeTrue();
            }

            var avrDuration = instance.GetAverageDecelerationSeconds(1004, blockName);

            avrDuration.Should().BeInRange((testSeconds - 0.001), testSeconds + 0.001);

            var locdata = new LocomotivesData(null);

            locdata.Load(@"Testmodels\locomotives.speedCurve.json").Should().BeTrue();
            var locdata1004 = locdata.GetData(1004);

            locdata1004.Should().NotBeNull();
            var speedCurve = locdata1004.SpeedCurve;

            speedCurve.Should().NotBeNull();
            speedCurve.MaxTime.Should().Be(10);
        }
Esempio n. 2
0
 public bool LoadLocomotives(string pathToLocomotivesmodel)
 {
     if (string.IsNullOrEmpty(pathToLocomotivesmodel))
     {
         return(false);
     }
     if (!File.Exists(pathToLocomotivesmodel))
     {
         File.WriteAllText(pathToLocomotivesmodel, "{}", Encoding.UTF8);
     }
     LocomotivesData = new LocomotivesData(this);
     return(LocomotivesData.Load(pathToLocomotivesmodel));
 }