Ejemplo n.º 1
0
 [TestMethod] public void PropertiesAreSet() {
     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);
 }
Ejemplo n.º 2
0
        public List <StationExit> LoadFormFile(string filePath)
        {
            var str = System.IO.File.ReadAllText(filePath);

            var xDocument = System.Xml.Linq.XDocument.Parse(str);

            var targets = xDocument.Descendants("StationExit");

            return(targets
                   .Select(x =>
            {
                var item = new StationExit();
                item.StationID = x.Element("StationID").Value;
                item.UpdateTime = x.Element("UpdateTime").Value;
                item.LocationDescription = x.Element("LocationDescription").Value;
                item.Elevator = bool.Parse(x.Element("Elevator").Value);
                var stationNameNode = x.Element("StationName");
                var exitNameNode = x.Element("ExitName");
                item.StationName = new DisplayName()
                {
                    Zh_tw = stationNameNode.Element("Zh_tw").Value,
                    En = stationNameNode.Element("En").Value
                };
                item.ExitName = new DisplayName()
                {
                    Zh_tw = exitNameNode.Element("Zh_tw").Value,
                    En = exitNameNode.Element("En").Value
                };
                return item;
            })
                   .ToList());
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
        public static StationExit GetStationExit(this TrackLayout me, string stationSignature, string exitName)
        {
            var station = me.Stations.Where(t => t.Signature == stationSignature).SingleOrDefault();

            if (station == null)
            {
                throw new ArgumentOutOfRangeException("Station " + stationSignature + " does not exits in layout " + me.Name + ".");
            }
            var result = new StationExit(exitName);

            station.Add(result);
            return(result);
        }
Ejemplo n.º 5
0
        private static IEnumerable <Message> GetStretches(TrackLayout layout, Excel.Workbook book)
        {
            var messages = new List <Message>();

            Excel.Worksheet sheet = book.Worksheets["Routes"] as Excel.Worksheet;
            for (var r = 2; ; r++)
            {
                var row = (Array)sheet.get_Range(Cell("A", r), Cell("I", r)).Cells.Value;
                if (row.GetValue(1, 1) == null)
                {
                    break;
                }
                else
                {
                    var timetableStretchNumber = row.Value(1);
                    var tracksCount            = int.Parse(row.Value(8), CultureInfo.InvariantCulture);
                    var fromName = row.Value(3);
                    var toName   = row.Value(5);
                    var distance = double.Parse(row.Value(9).Replace(",", "."), NumberStyles.Float, CultureInfo.InvariantCulture);

                    var fromStation = layout.Station(fromName);
                    if (fromStation.IsNone)
                    {
                        messages.Add(Message.Error(fromStation.Message));
                        continue;
                    }
                    var fromExit = new StationExit(toName);
                    fromStation.Value.Add(fromExit);
                    var toStation = layout.Station(toName);
                    if (toStation.IsNone)
                    {
                        messages.Add(Message.Error(toStation.Message));
                    }
                    else
                    {
                        var toExit = new StationExit(fromName);
                        toStation.Value.Add(toExit);
                        var addedStretch = layout.Add(fromExit, toExit, distance, tracksCount);
                        if (!layout.HasTimetableStretch(timetableStretchNumber))
                        {
                            layout.Add(new TimetableStretch(timetableStretchNumber));
                        }
                        layout.TimetableStretch(timetableStretchNumber).Add(addedStretch);
                    }
                }
            }
            return(messages);
        }
Ejemplo n.º 6
0
        public List <StationExit> LoadFormFile(string filePath)
        {
            var str = System.IO.File.ReadAllText(filePath);

            var xDocument = System.Xml.Linq.XDocument.Parse(str);

            var targets = xDocument.Descendants("StationExit");

            return(targets
                   .Select(x =>
            {
                var item = new StationExit();
                item.UpdateTime = x.Element("UpdateTime").Value;
                item.StationID = x.Element("StationID").Value;
                item.LocationDescription = x.Element("LocationDescription").Value;
                return item;
            })
                   .ToList());
        }
Ejemplo n.º 7
0
 [TestMethod] public void AddingSameStretchTwiceThrows() {
     var target = new StationExit("Vänster");
     target.Stretch = new TrackStretch(target, target, 1);
     target.Stretch = new TrackStretch(target, target, 1);
 }