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); }
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)); }