[TestMethod] public void EqualsWorks()
        {
            var s1 = TestDataFactory.CreateStation1();
            var s2 = TestDataFactory.CreateStation1();

            Assert.AreNotSame(s1, s2);
            Assert.AreEqual(s1, s2);
        }
        public void AddsFirstTimetableCall()
        {
            var station = TestDataFactory.CreateStation1();
            var call    = new StationCall(station.Tracks.First(), new Time(12, 30), new Time(12, 45));

            Target.Add(call);
            Assert.IsFalse(Target.CheckTrainTimeSequence().Any());
        }
Example #3
0
        [TestMethod] public void AddingSameStationTwiceThrows()
        {
            var target  = new TrackLayout("Test");
            var station = TestDataFactory.CreateStation1();

            target.Add(station);
            target.Add(station);
        }
        public void AddsTrainPart()
        {
            TestDataFactory.Init();
            var train = TestDataFactory.CreateTrains("Persontåg", new Time(12, 00)).First();
            var part  = new TrainPart(train, 0, 1);

            Target.Add(part);
            Assert.AreEqual(part, Target.Parts.First());
        }
        public void WhenSecondTimetableCallIsAfterLastThenThrows()
        {
            var station = TestDataFactory.CreateStation1();
            var call1   = new StationCall(station.Tracks.First(), new Time(12, 30), new Time(12, 45));
            var call2   = new StationCall(station.Tracks.First(), new Time(12, 50), new Time(12, 55));

            Target.Add(call1);
            Target.Add(call2);
        }
Example #6
0
        public void PropertiesAreSet()
        {
            TestDataFactory.Init();
            var station = TestDataFactory.Stations.First();
            var target  = new StationExit("Vänster");

            station.Add(target);
            Assert.AreEqual(station, target.Station);
            Assert.AreEqual("Vänster", target.Name);
        }
Example #7
0
        public void ReturnsPassings()
        {
            TestDataFactory.Init();
            var target = TestDataFactory.CreateTimetable();

            foreach (var stretch in target.Layout.TrackStretches)
            {
                Assert.AreEqual(2, stretch.Passings.Count());
            }
        }
Example #8
0
        [TestMethod] public void LoadsTestLayout()
        {
            TestDataFactory.Init();
            ILayoutRepository repository = new TestRepository();

            var(item, _) = repository.GetLayout("test");
            var layout = item.Value;

            Assert.AreEqual(3, layout.Stations.Count);
            Assert.AreEqual(layout.Station("G").Value.Stretches.First().End.Station, layout.Station("Yb").Value);
        }
        public void ArrivalAfterDepartureThrows()
        {
            var track  = TestDataFactory.CreateStationTrack();
            var target = new StationCall(track, new Time(12, 00), new Time(11, 59));

            Train.Add(target);
            var validationErrors = target.GetValidationErrors();

            Assert.AreEqual(1, validationErrors.Count());
            Assert.IsFalse(validationErrors.Any(ve => string.IsNullOrWhiteSpace(ve.Text)));
        }
Example #10
0
        public void LoadsTestTimetable()
        {
            TestDataFactory.Init();
            ITimetableReadStore repository = new TestRepository();

            var(item, _) = repository.GetTimetable("scenario1");
            var timetable = item.Value;

            Assert.AreEqual(2, timetable.Trains.Count);
            Assert.AreEqual(3, timetable.Stations.Count());
        }
        public void WhenSecondTimetableCallIsBeforeLastThenValidationErrors()
        {
            var station = TestDataFactory.CreateStation1();

            Target.Add(new StationCall(station.Tracks.First(), new Time(12, 30), new Time(12, 45)));
            Target.Add(new StationCall(station.Tracks.First(), new Time(12, 30), new Time(12, 45)));
            var validationErrors = Target.GetValidationErrors(new ValidationOptions());

            Assert.AreEqual(1, validationErrors.Count());
            Assert.IsFalse(validationErrors.Any(ve => string.IsNullOrWhiteSpace(ve.Text)));
        }
Example #12
0
 public void TestInitialize()
 {
     Target = TestDataFactory.CreateStationTrack();
     Train1 = new Train("1234")
     {
         Category = "Godståg"
     };
     Train2 = new Train("22")
     {
         Category = "Persontåg"
     };
 }
        private (Maybe <Timetable> item, IEnumerable <Message> messages) GetTestTimetable(string name)
        {
            var(item, messages) = GetLayout(name);
            if (item.IsNone)
            {
                return(Maybe <Timetable> .None("Layout does not exist."), messages);
            }
            var result = new Timetable(name, item.Value);

            result.AddTrain(TestDataFactory.CreateTrain1());
            result.AddTrain(TestDataFactory.CreateTrain2());
            return(Maybe <Timetable> .Item(result), messages);
        }
        public void EqualsWorks()
        {
            TestDataFactory.Init();
            var station = TestDataFactory.CreateStation1();
            var train   = TestDataFactory.CreateTrain1();
            var one     = new StationCall(station.Tracks.First(), new Time(12, 00), new Time(12, 00))
            {
                Train = train
            };
            var another = new StationCall(station.Tracks.First(), new Time(12, 00), new Time(12, 00))
            {
                Train = train
            };

            Assert.AreEqual(one, another);
        }
 public void TestInitialize()
 {
     TestDataFactory.Init();
     Train = TestDataFactory.CreateTrain1();
 }
 public void TestInitialize()
 {
     TestDataFactory.Init();
     Target = new TimetableStretch("10", "Ten");
 }
        public void DepartureIsNullThrows()
        {
            var track = TestDataFactory.CreateStationTrack();

            Assert.ThrowsException <ArgumentNullException>(() => new StationCall(track, new Time(12, 00), null));
        }