예제 #1
0
        public void BasicConversion()
        {
            IXmlConverter <Route> converter = new XMLToRouteConverter();
            var result = converter.Convert(TestHelper.RouteDataString, "route").First();

            Assert.IsTrue(result.Trains.Any());
            Assert.AreEqual(EnumTrainRoute.Red, result.TrainRoute);

            var train = result.Trains.First();

            Assert.AreEqual(804, train.RunNumber);
            Assert.AreEqual(30173, train.DestinationStopNumber);
            Assert.AreEqual("Howard", train.DestinationName);
            Assert.AreEqual(1, train.TrainDirection);
            Assert.AreEqual(41400, train.NextStationID);
            Assert.AreEqual(30269, train.NextStopID);
            Assert.AreEqual("Roosevelt", train.NextStationName);
            Assert.AreEqual(new DateTime(2013, 06, 10, 14, 58, 48), train.PredicationGeneratedTime);
            Assert.AreEqual(new DateTime(2013, 06, 10, 14, 59, 48), train.PredicatedArrival);
            Assert.AreEqual(true, train.IsApproaching);
            Assert.AreEqual(false, train.IsDelayed);
            Assert.AreEqual("", train.Flags);
            Assert.AreEqual(41.86579m, train.TrainLatitude);
            Assert.AreEqual(-87.62736m, train.TrainLongitude);
            Assert.AreEqual(358, train.HeadingDegrees);
        }
        //Ensure that the dependency falls through to the models
        public void DependencyPassthough()
        {
            var dataSource   = CreateDataSource();
            var xmlConverter = new XMLToRouteConverter();

            RouteEndPoint endpoint = new RouteEndPoint("key", xmlConverter, dataSource);
            var           result   = endpoint.Get(new CtaSharp.Parameters.RouteParameters()
            {
                Route = EnumTrainRoute.Red
            }).First();

            Assert.AreEqual(endpoint, result.EndPoint);
        }
예제 #3
0
        public void Get()
        {
            var dataSource = CreateDataSource();
            var converter  = new XMLToRouteConverter();
            var endpoint   = new RouteEndPoint("apikey", converter, dataSource);

            var routes = endpoint.Get(new RouteParameters()
            {
                Route = EnumTrainRoute.Red
            });

            Assert.AreEqual(1, routes.Count());
        }
        public void Refresh()
        {
            var dataSource   = CreateDataSource();
            var xmlConverter = new XMLToRouteConverter();

            RouteEndPoint endpoint = new RouteEndPoint("key", xmlConverter, dataSource);
            var           result   = endpoint.Get(new CtaSharp.Parameters.RouteParameters()
            {
                Route = EnumTrainRoute.Red
            }).First();

            var OriginalUpdateTime = result.UpdatedTime;

            var isSuccessful = result.TryRefresh();

            Assert.AreEqual(true, isSuccessful);

            var UpdatedUpdateTime = result.UpdatedTime;

            Assert.AreNotEqual(OriginalUpdateTime, UpdatedUpdateTime);
        }
예제 #5
0
        public void NullParentNodeString()
        {
            IXmlConverter <Route> converter = new XMLToRouteConverter();

            converter.Convert(TestHelper.RouteDataString, null);
        }
예제 #6
0
        public void NullXmlDataString()
        {
            IXmlConverter <Route> converter = new XMLToRouteConverter();

            converter.Convert(null, "parentNode");
        }
예제 #7
0
 internal RouteEndPoint(string APIKey)
 {
     _APIKey          = APIKey;
     _RouteDataSource = new RouteDataSource();
     _RouteConverter  = new XMLToRouteConverter();
 }