public void ListVehicles_SameBus_Passes()
        {
            using (IDbContext idtoFakeContext = new IDTOFakeContext())
                using (IUnitOfWork unitOfWork = new UnitOfWork(idtoFakeContext))
                {
                    //Setup
                    TConnectedVehicle vehicleEnt1 = new TConnectedVehicle();
                    vehicleEnt1.Id = 1;
                    TConnectRequest reqEnt1 = new TConnectRequest();
                    reqEnt1.TConnectedVehicleId = vehicleEnt1.Id;
                    reqEnt1.TConnectStatusId    = (int)TConnectStatuses.New;

                    unitOfWork.Repository <TConnectedVehicle>().Insert(vehicleEnt1);
                    unitOfWork.Repository <TConnectRequest>().Insert(reqEnt1);
                    unitOfWork.Save();


                    TConnectRequest reqEnt2 = new TConnectRequest();
                    reqEnt2.TConnectedVehicleId = vehicleEnt1.Id;
                    reqEnt2.TConnectStatusId    = (int)TConnectStatuses.New;

                    unitOfWork.Repository <TConnectRequest>().Insert(reqEnt2);
                    unitOfWork.Save();


                    TConnectedVehicleController  tvCont   = new TConnectedVehicleController(unitOfWork);
                    List <TConnVehicleViewModel> vehicles = tvCont.GetVehiclesWithPendingRequests();
                    Assert.AreEqual(1, vehicles.Count());
                    Assert.AreEqual(2, vehicles[0].NumberRequests, "This bus should have two requests");
                }
        }
        public void ListVehicles_Passes()
        {
            using (IDbContext idtoFakeContext = new IDTOFakeContext())
                using (IUnitOfWork unitOfWork = new UnitOfWork(idtoFakeContext))
                {
                    //Setup
                    TConnectedVehicle vehicleEnt1 = new TConnectedVehicle();
                    vehicleEnt1.Id = 1;
                    TConnect tc = new TConnect {
                        Id = 1, TConnectStatusId = (int)TConnectStatuses.Monitored
                    };
                    unitOfWork.Repository <TConnect>().Insert(tc);
                    TConnectRequest reqEnt1 = new TConnectRequest();
                    reqEnt1.TConnectedVehicleId = vehicleEnt1.Id;
                    reqEnt1.TConnectId          = tc.Id;
                    reqEnt1.TConnectStatusId    = (int)TConnectStatuses.New;

                    unitOfWork.Repository <TConnectedVehicle>().Insert(vehicleEnt1);
                    unitOfWork.Repository <TConnectRequest>().Insert(reqEnt1);
                    unitOfWork.Save();

                    TConnectedVehicle vehicleEnt2 = new TConnectedVehicle();
                    vehicleEnt2.Id = 2;
                    TConnect tc2 = new TConnect {
                        Id = 2, TConnectStatusId = (int)TConnectStatuses.Monitored
                    };
                    unitOfWork.Repository <TConnect>().Insert(tc2);
                    TConnectRequest reqEnt2 = new TConnectRequest();
                    reqEnt2.TConnectedVehicleId = vehicleEnt2.Id;
                    reqEnt2.TConnectId          = tc2.Id;
                    reqEnt2.TConnectStatusId    = (int)TConnectStatuses.New;

                    unitOfWork.Repository <TConnectedVehicle>().Insert(vehicleEnt2);
                    unitOfWork.Repository <TConnectRequest>().Insert(reqEnt2);
                    unitOfWork.Save();

                    var bc = unitOfWork.Repository <TConnect>().Query().Get()
                             .Where(r => r.TConnectStatusId.Equals((int)TConnectStatuses.Monitored)).ToList();

                    var vehicleidsWithNew = unitOfWork.Repository <TConnectRequest>().Query().Get().Include(r => r.TConnect)
                                            .Where(r => r.TConnectStatusId.Equals((int)TConnectStatuses.New)
                                                   // && r.TConnect.TConnectStatusId.Equals((int)TConnectStatuses.Monitored)
                                                   )
                                            .Select(r => r.TConnectedVehicleId).Distinct();
                    int a = vehicleidsWithNew.Count();
                    //.Include does not work on Fake Repository!
                    TConnectedVehicleController  tvCont   = new TConnectedVehicleController(unitOfWork);
                    List <TConnVehicleViewModel> vehicles = tvCont.GetVehiclesWithPendingRequests();
                    Assert.AreEqual(2, vehicles.Count());
                }
        }