public void UpdateExistingRoute()
        {
            var dbBridge = new DatabaseBridge();

            // Get points from the database.
            var points             = dbBridge.ReadPoints();
            var pointWithLowestID  = points.Min(pt => pt.ID);
            var pointWithHighestID = points.Max(pt => pt.ID);

            // Get routes from the database.
            var routes         = dbBridge.ReadRoutes();
            var routeWithMaxID = routes.Max(rt => rt.ID);

            var routeToUpdate = new Route
            {
                Cost         = 24,
                Time         = 24,
                StartPointID = pointWithLowestID,
                EndPointID   = pointWithHighestID,
            };

            // Try to update route.
            var routeUpdated = dbBridge.UpdateRoute(routeWithMaxID, routeToUpdate);

            // Assert that the route was updated.
            Assert.IsTrue(routeUpdated);
        }
        public void AddNewPoint()
        {
            var dbBridge = new DatabaseBridge();

            const string pointName  = "AddedPoint";
            Point        pointToAdd = new Point
            {
                Name = pointName,
            };

            // Get points from the database.
            var points            = dbBridge.ReadPoints();
            var pointWithSameName = points.FirstOrDefault(pt => pt.Name == pointName);

            // Try to add new point.
            bool pointCreated = dbBridge.CreatePoint(pointToAdd);

            if (pointWithSameName == null)
            {
                // Point should be created successfully.
                Assert.IsTrue(pointCreated);
            }
            else
            {
                // Point should already exists.
                Assert.IsFalse(pointCreated);
            }
        }
        public void AddNewRoute()
        {
            var dbBridge = new DatabaseBridge();

            // Get points from the database.
            var points             = dbBridge.ReadPoints();
            var pointWithLowestID  = points.Min(pt => pt.ID);
            var pointWithHighestID = points.Max(pt => pt.ID);

            var routeToAdd = new Route
            {
                Cost         = 42,
                Time         = 42,
                StartPointID = pointWithLowestID,
                EndPointID   = pointWithHighestID,
            };

            // Get routes from the database.
            var routes = dbBridge.ReadRoutes();
            var routeWithSameEndPoints = routes.FirstOrDefault(rt => rt.StartPointID == pointWithLowestID && rt.EndPointID == pointWithHighestID);

            // Try to create route.
            bool routeCreated = dbBridge.CreateRoute(routeToAdd);

            if (routeWithSameEndPoints == null)
            {
                // Route should be created successfully.
                Assert.IsTrue(routeCreated);
            }
            else
            {
                // Route should already exists.
                Assert.IsFalse(routeCreated);
            }
        }
        public void GetRoute()
        {
            var dbBridge = new DatabaseBridge();

            // Get points from the database.
            var points             = dbBridge.ReadPoints();
            var pointWithLowestID  = points.Min(pt => pt.ID);
            var pointWithHighestID = points.Max(pt => pt.ID);

            var routeToAdd = new Route
            {
                Cost         = 42,
                Time         = 42,
                StartPointID = pointWithLowestID,
                EndPointID   = pointWithHighestID,
            };

            // Try to create route.
            bool RouteCreated = dbBridge.CreateRoute(routeToAdd);

            // Get routes from the database.
            var routes = dbBridge.ReadRoutes();
            var routeWithSameEndPoints = routes.FirstOrDefault(rt => rt.StartPointID == pointWithLowestID && rt.EndPointID == pointWithHighestID);

            Assert.AreNotEqual(routeWithSameEndPoints, null);
        }
Ejemplo n.º 5
0
        private static IList <Flashcard> LoadFromDatabase()
        {
            WriteLine("Loading flashcards from the database");
            IList <Flashcard> flashcards = new DatabaseBridge().GetFlashcards();

            return(flashcards);
        }
        // POST: api/Point
        public HttpResponseMessage Post([FromBody] Point value)
        {
            var dbBridge = new DatabaseBridge();

            bool pointCreated = dbBridge.CreatePoint(value);

            return(pointCreated ? Request.CreateResponse(HttpStatusCode.Created) : Request.CreateResponse(HttpStatusCode.BadRequest));
        }
        // PUT: api/Point/5
        public HttpResponseMessage Put(long id, [FromBody] Point value)
        {
            var dbBridge = new DatabaseBridge();

            bool pointUpdated = dbBridge.UpdatePoint(id, value);

            return(pointUpdated ? Request.CreateResponse(HttpStatusCode.OK) : Request.CreateResponse(HttpStatusCode.NotFound));
        }
        // DELETE: api/Point/5
        public HttpResponseMessage Delete(int id)
        {
            var dbBridge = new DatabaseBridge();

            bool pointDeleted = dbBridge.DeletePoint(id);

            return(pointDeleted ? Request.CreateResponse(HttpStatusCode.OK) : Request.CreateResponse(HttpStatusCode.NotFound));
        }
        public void DeleteNonExistingRoute()
        {
            var dbBridge = new DatabaseBridge();

            // Get routes from the database.
            var routes         = dbBridge.ReadRoutes();
            var routeWithMaxID = routes.Max(rt => rt.ID);

            // Try to delete a route with a non-existent ID.
            var routeDeleted = dbBridge.DeleteRoute(++routeWithMaxID);

            // Assert that the route was deleted.
            Assert.IsFalse(routeDeleted);
        }
        public void DeleteExistingRoute()
        {
            var dbBridge = new DatabaseBridge();

            // Get routes from the database.
            var routes         = dbBridge.ReadRoutes();
            var routeWithMaxID = routes.Max(rt => rt.ID);

            // Try to delete route.
            var routeDeleted = dbBridge.DeleteRoute(routeWithMaxID);

            // Assert that the route was deleted.
            Assert.IsTrue(routeDeleted);
        }
        public void DeleteExistingPoint()
        {
            var dbBridge = new DatabaseBridge();

            // Get points from the database.
            var points = dbBridge.ReadPoints();
            // Get point with highest ID.
            var pointWithMaxID = points.Max(pt => pt.ID);

            // Try to delete point.
            bool pointDeleted = dbBridge.DeletePoint(pointWithMaxID);

            // Assert that the point was updated.
            Assert.IsTrue(pointDeleted);
        }
        public void DeleteNonExistingPoint()
        {
            var dbBridge = new DatabaseBridge();

            // Get points from the database.
            var points = dbBridge.ReadPoints();
            // Get point with highest ID.
            var pointWithMaxID = points.Max(pt => pt.ID);

            // Try to delete a point with a non-existent ID.
            bool pointDeleted = dbBridge.DeletePoint(++pointWithMaxID);

            // Assert that point was not deleted because it doesn't exits.
            Assert.IsFalse(pointDeleted);
        }
        public void UpdateNonExistingPoint()
        {
            var dbBridge = new DatabaseBridge();

            // Get points from the database.
            var points = dbBridge.ReadPoints();
            // Get point with highest ID.
            var pointWithMaxID = points.Max(pt => pt.ID);

            Point pointToUpdate = new Point
            {
                Name = "UpdatedPointName",
            };

            // Try to update a point with non-existent ID.
            bool pointUpdated = dbBridge.UpdatePoint(++pointWithMaxID, pointToUpdate);

            // Assert that point was not updated.
            Assert.IsFalse(pointUpdated);
        }
        public void GetPoint()
        {
            var dbBridge = new DatabaseBridge();

            const string pointName  = "PointToGet";
            Point        pointToAdd = new Point
            {
                Name = pointName,
            };

            // Try to add new point.
            bool pointCreated = dbBridge.CreatePoint(pointToAdd);

            // Get points from the database.
            var points            = dbBridge.ReadPoints();
            var pointWithSameName = points.FirstOrDefault(pt => pt.Name == pointName);

            // Assert that the point exists in the database,
            // either if the point was added during the test or if it existed in the database prior to the test.
            Assert.AreNotEqual(pointWithSameName, null);
        }
Ejemplo n.º 15
0
        // GET: api/Route
        public List <Route> Get()
        {
            var dbBridge = new DatabaseBridge();

            return(dbBridge.ReadRoutes());
        }
        // GET: api/Point/5
        public Point Get(int id)
        {
            var dbBridge = new DatabaseBridge();

            return(dbBridge.ReadPoint(id));
        }
        // GET: api/Point
        public List <Point> Get()
        {
            var dbBridge = new DatabaseBridge();

            return(dbBridge.ReadPoints());
        }
Ejemplo n.º 18
0
        // GET: api/Route/5
        public Route Get(int id)
        {
            var dbBridge = new DatabaseBridge();

            return(dbBridge.ReadRoute(id));
        }
Ejemplo n.º 19
0
        public void GetFastestRoute()
        {
            var dbBridge = new DatabaseBridge();

            // Add points.
            {
                var pointList = new List <Point>
                {
                    new Point("A"),
                    new Point("B"),
                    new Point("C"),
                    new Point("D"),
                    new Point("E"),
                    new Point("F"),
                    new Point("G"),
                    new Point("H"),
                    new Point("I")
                };

                foreach (var point in pointList)
                {
                    dbBridge.CreatePoint(point);
                }
            }

            // Add routes.
            {
                var routeList = new List <Route>
                {
                    new Route(20, 1, 1, 3),
                    new Route(5, 30, 1, 5),
                    new Route(1, 10, 1, 8),
                    new Route(12, 1, 3, 2),
                    new Route(1, 30, 8, 5),
                    new Route(5, 3, 5, 4),
                    new Route(50, 4, 4, 6),
                    new Route(50, 40, 6, 7),
                    new Route(50, 45, 6, 9),
                    new Route(73, 64, 7, 2),
                    new Route(5, 65, 9, 2),
                };

                foreach (var route in routeList)
                {
                    dbBridge.CreateRoute(route);
                }
            }

            var deliveryRoute = new DeliveryRoute
            {
                PreferCheapestPath = false,
                StartPoint         = "A",
                EndPoint           = "E",
            };

            var pathFinder = new PathFinder(deliveryRoute.StartPoint, deliveryRoute.EndPoint, deliveryRoute.PreferCheapestPath);

            pathFinder.FindShortestPaths();

            var deliveryRouteDistances = pathFinder.GetEndPointDistances();

            deliveryRoute.RoutePath   = pathFinder.GetDeliveryRoutePoints();
            deliveryRoute.AverageTime = deliveryRouteDistances.Item1;
            deliveryRoute.AverageCost = deliveryRouteDistances.Item2;

            bool validResult = deliveryRoute.AverageCost == 5 && deliveryRoute.AverageTime == 30;

            Assert.IsTrue(validResult);
        }