public void createValidDriverDuty() { string driverDutyCode = "dDutycode1"; var tripList = new List <Trip>(); string lineID = "Line:1"; string pathID = "Path:1"; string tripDepartureTime = "20:12:10"; var trip = new Trip(lineID, pathID, tripDepartureTime); tripList.Add(trip); var workBlock1 = new WorkBlock("9:0:0", "10:0:0", tripList); var workBlock2 = new WorkBlock("10:0:0", "13:0:0", tripList); var workBlock3 = new WorkBlock("14:0:0", "18:0:0", tripList); var workBlockList = new List <WorkBlock> { workBlock1, workBlock2, workBlock3 }; var driverDuty = new DriverDuty(driverDutyCode, workBlockList); Assert.True(driverDuty.GetType().Equals(new DriverDuty().GetType())); }
public async void GetByIdTest() { var repo = new Mock <IDriverDutyRepository>(); var unitOfWork = new Mock <IUnitOfWork>(); var service = new DriverDutyService(unitOfWork.Object, repo.Object); var controller = new DriverDutiesController(service); DriverDutyId id = new DriverDutyId(Guid.NewGuid()); string key = "keyDD1"; string driver = "DriverDD"; List <String> workblocks = new List <String>(); workblocks.Add("wb1"); workblocks.Add("wb2"); workblocks.Add("wb3"); var dd = new DriverDuty(key, driver, workblocks); repo.Setup(_ => _.GetByIdAsync(id)).ReturnsAsync(dd); var actual = await controller.GetGetById(id.AsGuid()); var expected = new DriverDutyDto(key, driver, workblocks); Assert.Equal(actual.Value.Key, expected.Key); Assert.Equal(actual.Value.Driver, expected.Driver); Assert.Equal(actual.Value.Workblocks, expected.Workblocks); }
public async void GetById() { var service = new Mock <IDriverDutyService>(); string driverDutyCode = "dDutycode1"; var tripList = new List <Trip>(); string lineID = "Line:1"; string pathID = "Path:1"; string tripDepartureTime = "20:12:10"; var trip = new Trip(lineID, pathID, tripDepartureTime); tripList.Add(trip); var workBlock1 = new WorkBlock("9:0:0", "10:0:0", tripList); var workBlock2 = new WorkBlock("10:0:0", "13:0:0", tripList); var workBlock3 = new WorkBlock("14:0:0", "18:0:0", tripList); var workBlockList = new List <WorkBlock> { workBlock1, workBlock2, workBlock3 }; var driverDuty = new DriverDuty(driverDutyCode, workBlockList); var tripDTO = new TripDTO(trip.Id.AsGuid(), new LineId(lineID), new PathId(pathID), tripDepartureTime); var tripsDTO = new List <TripDTO>() { tripDTO }; var listWorkBlocksString = new List <String>() { workBlock1.Id.Value, workBlock2.Id.Value, workBlock3.Id.Value }; var workBlockDTO1 = new WorkBlockDTO(workBlock1.Id.AsGuid(), workBlock1.startingTime.time, workBlock1.endingTime.time, tripsDTO); var workBlockDTO2 = new WorkBlockDTO(workBlock2.Id.AsGuid(), workBlock2.startingTime.time, workBlock2.endingTime.time, tripsDTO); var workBlockDTO3 = new WorkBlockDTO(workBlock3.Id.AsGuid(), workBlock3.startingTime.time, workBlock3.endingTime.time, tripsDTO); var listWorkBlockDTO = new List <WorkBlockDTO>() { workBlockDTO1, workBlockDTO2, workBlockDTO3 }; var driverDutyDTO = new DriverDutyDTO(driverDuty.Id.AsGuid(), driverDutyCode, listWorkBlockDTO); service.Setup(_ => _.GetById(driverDuty.Id)).ReturnsAsync(driverDutyDTO); var controller = new DriverDutyController(service.Object); var actual = await controller.GetById(driverDuty.Id.AsGuid()); Assert.Equal(driverDutyDTO, actual.Value); }
public void DTOtoDomain() { var mapper = new DriverDutyMapper(); string driverDutyCode = "dDutycode1"; var tripList = new List <Trip>(); string lineID = "Line:1"; string pathID = "Path:1"; string tripDepartureTime = "20:12:10"; var trip = new Trip(lineID, pathID, tripDepartureTime); tripList.Add(trip); var workBlock1 = new WorkBlock("9:0:0", "10:0:0", tripList); var workBlock2 = new WorkBlock("10:0:0", "13:0:0", tripList); var workBlock3 = new WorkBlock("14:0:0", "18:0:0", tripList); var workBlockList = new List <WorkBlock> { workBlock1, workBlock2, workBlock3 }; var tripDTO = new TripDTO(trip.Id.AsGuid(), new LineId(lineID), new PathId(pathID), tripDepartureTime); var tripsDTO = new List <TripDTO>() { tripDTO }; var listWorkBlocksString = new List <String>() { workBlock1.Id.Value, workBlock2.Id.Value, workBlock3.Id.Value }; var workBlockDTO1 = new WorkBlockDTO(workBlock1.Id.AsGuid(), workBlock1.startingTime.time, workBlock1.endingTime.time, tripsDTO); var workBlockDTO2 = new WorkBlockDTO(workBlock2.Id.AsGuid(), workBlock2.startingTime.time, workBlock2.endingTime.time, tripsDTO); var workBlockDTO3 = new WorkBlockDTO(workBlock3.Id.AsGuid(), workBlock3.startingTime.time, workBlock3.endingTime.time, tripsDTO); var listWorkBlockDTO = new List <WorkBlockDTO>() { workBlockDTO1, workBlockDTO2, workBlockDTO3 }; var driverDuty = new DriverDuty(driverDutyCode, workBlockList); var expected = new DriverDutyDTO( driverDuty.Id.AsGuid(), driverDutyCode, listWorkBlockDTO ); var actual = mapper.DomainToDTO(driverDuty); Assert.Equal(actual, expected); }
public async Task <DriverDutyDTO> AddDriverDuty(CreatingDriverDutyDTO driverDutyDTO) { List <WorkBlock> workBlocks = new List <WorkBlock>(); List <WorkBlock> workBlocksAux = new List <WorkBlock>(); foreach (var workBlockId in driverDutyDTO.listWorkBlocks) { var workBlock = await _workBlockRepository.GetByIdAsync(new WorkBlockID(workBlockId)); workBlocks.Add(workBlock); workBlocksAux.Add(workBlock); } for (int i = 1; i < workBlocks.Count; i++) { var firstVehicleDutyId = await this._repoVehicleDutyRepository.getVehicleDutyByWorkblock(workBlocks[i]); var secondVehicleDutyId = await this._repoVehicleDutyRepository.getVehicleDutyByWorkblock(workBlocks[i - 1]); if (!firstVehicleDutyId.Id.Equals(secondVehicleDutyId.Id)) { if (workBlocks[i - 1].tripList.Count > 0 && workBlocks[i].tripList.Count > 0) { var lastNodeOfLastWorkblok = workBlocks[i - 1].tripList.Last().nodePassageList.Last().nodeID.id; var firstNodeOfActualWorkblock = workBlocks[i].tripList.First().nodePassageList.First().nodeID.id; // if (lastNodeOfLastWorkblok.Equals(firstNodeOfActualWorkblock)) // { NodeDTO firstNode = await HttpRequest <NodeDTO> .GetByID("http://localhost:8080/api/node/" + firstNodeOfActualWorkblock); if (!firstNode.isReliefPoint) { throw new BusinessRuleValidationException(firstNode.code + " invalid: this node is not a relief point."); } // } // else // { // throw new BusinessRuleValidationException("When two workblocks have a diferent vehicleDuty the last node of the last workblock must be the same as the first of actual workblock"); // } } } } var driverDuty = new DriverDuty( driverDutyDTO.driverDutyCode, workBlocks ); var savedDriverDuty = await this._driverDutyRepository.AddAsync(driverDuty); await this._unitOfWork.CommitAsync(); return(this._driverDutyMapper.DomainToDTO(savedDriverDuty)); }
public void nullDriver() { string key = "keyDD1"; string driver = null; List <String> workblocks = new List <String>(); workblocks.Add("wb1"); workblocks.Add("wb2"); workblocks.Add("wb3"); DriverDuty dd = new DriverDuty(key, driver, workblocks); }
public void nullKey() { string key = null; string driver = "DriverDD"; List <String> workblocks = new List <String>(); workblocks.Add("wb1"); workblocks.Add("wb2"); workblocks.Add("wb3"); DriverDuty dd = new DriverDuty(key, driver, workblocks); }
public async void GetByIdTest_Fail() { var repo = new Mock <IDriverDutyRepository>(); var unitOfWork = new Mock <IUnitOfWork>(); var service = new DriverDutyService(unitOfWork.Object, repo.Object); var controller = new DriverDutiesController(service); DriverDuty dd = null; repo.Setup(_ => _.GetByIdAsync(It.IsAny <DriverDutyId>())).ReturnsAsync(dd); var actual = await controller.GetGetById(Guid.NewGuid()); Assert.Null(actual.Value); }
public DriverDutyDTO DomainToDTO(DriverDuty driverDuty) { var workBlockList = new List <WorkBlockDTO>(); foreach (var workBlock in driverDuty.listWorkBlocks) { var workBlockDTO = _workBlockMapper.DomainToDTO(workBlock); workBlockList.Add(workBlockDTO); } var driverDutyDTO = new DriverDutyDTO( driverDuty.Id.AsGuid(), driverDuty.driverDutyCode.ToString(), workBlockList ); return(driverDutyDTO); }
public void testSetParameters() { string key = "keyDD1"; string driver = "DriverDD"; List <String> workblocks = new List <String>(); workblocks.Add("wb1"); workblocks.Add("wb2"); workblocks.Add("wb3"); DriverDuty dd = new DriverDuty(key, driver, workblocks); Assert.AreEqual(dd.Key, key); Assert.AreEqual(dd.Driver, driver); foreach (String s in workblocks) { DriverWorkblock dw = new DriverWorkblock(s); Assert.IsNotNull(dd.Workblocks.Contains(dw)); } }
public void testToDomain() { string key = "keyDD1"; string driver = "DriverDD"; List <String> workblocks = new List <String>(); workblocks.Add("wb1"); workblocks.Add("wb2"); workblocks.Add("wb3"); DriverDuty dduty = DriverDutyMapper.toDomain(DriverDutyMapper.toDTO(new CreatingDriverDutyDto(key, driver, workblocks.ToArray()))); DriverDuty dd = new DriverDuty(key, driver, workblocks); Assert.AreEqual(dd.Key, dduty.Key); Assert.AreEqual(dd.Driver, dduty.Driver); foreach (DriverWorkblock dw in dduty.Workblocks) { Assert.IsNotNull(dd.Workblocks.Contains(dw)); } }
public async void GetAll() { var repo = new Mock <IDriverDutyRepository>(); var repoWorkBlocks = new Mock <IWorkBlockRepository>(); var repoVehicleDutyRepository = new Mock <IVehicleDutyRepository>(); var uow = new Mock <IUnitOfWork>(); string driverDutyCode = "dDutycode1"; var tripList = new List <Trip>(); string lineID = "Line:1"; string pathID = "Path:1"; string tripDepartureTime = "20:12:10"; var trip = new Trip(lineID, pathID, tripDepartureTime); tripList.Add(trip); var workBlock1 = new WorkBlock("9:0:0", "10:0:0", tripList); var workBlock2 = new WorkBlock("10:0:0", "13:0:0", tripList); var workBlock3 = new WorkBlock("14:0:0", "18:0:0", tripList); var workBlockList = new List <WorkBlock> { workBlock1, workBlock2, workBlock3 }; var driverDuty = new DriverDuty(driverDutyCode, workBlockList); var tripDTO = new TripDTO(trip.Id.AsGuid(), new LineId(lineID), new PathId(pathID), tripDepartureTime); var tripsDTO = new List <TripDTO>() { tripDTO }; var listWorkBlocksString = new List <String>() { workBlock1.Id.Value, workBlock2.Id.Value, workBlock3.Id.Value }; var workBlockDTO1 = new WorkBlockDTO(workBlock1.Id.AsGuid(), workBlock1.startingTime.time, workBlock1.endingTime.time, tripsDTO); var workBlockDTO2 = new WorkBlockDTO(workBlock2.Id.AsGuid(), workBlock2.startingTime.time, workBlock2.endingTime.time, tripsDTO); var workBlockDTO3 = new WorkBlockDTO(workBlock3.Id.AsGuid(), workBlock3.startingTime.time, workBlock3.endingTime.time, tripsDTO); var listWorkBlockDTO = new List <WorkBlockDTO>() { workBlockDTO1, workBlockDTO2, workBlockDTO3 }; var driverDutyDTO = new DriverDutyDTO(driverDuty.Id.AsGuid(), driverDutyCode, listWorkBlockDTO); var listDriverDTOs = new List <DriverDutyDTO>() { driverDutyDTO }; var listDrivers = new List <DriverDuty>() { driverDuty }; repo.Setup(_ => _.GetAllAsync()).ReturnsAsync(listDrivers); var service = new DriverDutyService(repo.Object, repoWorkBlocks.Object, repoVehicleDutyRepository.Object, uow.Object); var actual = await service.GetAll(); Assert.Equal(listDriverDTOs, actual); }
public async void AddDriverDuty() { var repo = new Mock <IDriverDutyRepository>(); var repoWorkBlocks = new Mock <IWorkBlockRepository>(); var repoVehicleDutyRepository = new Mock <IVehicleDutyRepository>(); var uow = new Mock <IUnitOfWork>(); string driverDutyCode = "dDutycode1"; var tripList = new List <Trip>(); string lineID = "Line:1"; string pathID = "Path:1"; string tripDepartureTime = "20:12:10"; var trip = new Trip(lineID, pathID, tripDepartureTime); tripList.Add(trip); var workBlock1 = new WorkBlock("9:0:0", "10:0:0", tripList); var workBlock2 = new WorkBlock("10:0:0", "13:0:0", tripList); var workBlock3 = new WorkBlock("14:0:0", "18:0:0", tripList); var workBlockList = new List <WorkBlock> { workBlock1, workBlock2, workBlock3 }; var driverDuty = new DriverDuty(driverDutyCode, workBlockList); var tripDTO = new TripDTO(trip.Id.AsGuid(), new LineId(lineID), new PathId(pathID), tripDepartureTime); var tripsDTO = new List <TripDTO>() { tripDTO }; var tripsDTOString = new List <string>() { trip.Id.ToString() }; var cworkBlockDTO1 = new CreatingWorkBlockDTO(tripsDTOString, workBlock1.startingTime.time, workBlock1.endingTime.time); var cworkBlockDTO2 = new CreatingWorkBlockDTO(tripsDTOString, workBlock2.startingTime.time, workBlock2.endingTime.time); var cworkBlockDTO3 = new CreatingWorkBlockDTO(tripsDTOString, workBlock3.startingTime.time, workBlock3.endingTime.time); var listWorkBlocksString = new List <String>() { workBlock1.Id.Value, workBlock2.Id.Value, workBlock3.Id.Value }; var workBlockDTO1 = new WorkBlockDTO(workBlock1.Id.AsGuid(), workBlock1.startingTime.time, workBlock1.endingTime.time, tripsDTO); var workBlockDTO2 = new WorkBlockDTO(workBlock2.Id.AsGuid(), workBlock2.startingTime.time, workBlock2.endingTime.time, tripsDTO); var workBlockDTO3 = new WorkBlockDTO(workBlock3.Id.AsGuid(), workBlock3.startingTime.time, workBlock3.endingTime.time, tripsDTO); var listWorkBlockDTO = new List <WorkBlockDTO>() { workBlockDTO1, workBlockDTO2, workBlockDTO3 }; var driverDutyDTO = new DriverDutyDTO(driverDuty.Id.AsGuid(), driverDutyCode, listWorkBlockDTO); var creatingDriverDutyDTO = new CreatingDriverDutyDTO(driverDutyCode, listWorkBlocksString); var workBlockID1 = new WorkBlockID(workBlockDTO1.Id); var workBlockID2 = new WorkBlockID(workBlockDTO2.Id); var workBlockID3 = new WorkBlockID(workBlockDTO3.Id); string vehicleDutyCode = "code:1"; string registration = "AA11AA"; string vin = "123456789AAAAAAAA"; string entranceDate = "27/01/1978"; string vehicleType = "vehicleType1"; Vehicle vehicle = new Vehicle(registration, vin, entranceDate, vehicleType); VehicleDuty vehicleDuty = new VehicleDuty(vehicleDutyCode, tripList); repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID1)).ReturnsAsync(workBlock1); repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID2)).ReturnsAsync(workBlock2); repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID3)).ReturnsAsync(workBlock3); repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock1)).ReturnsAsync(vehicleDuty); repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock2)).ReturnsAsync(vehicleDuty); repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock3)).ReturnsAsync(vehicleDuty); repo.Setup(_ => _.AddAsync(driverDuty)).ReturnsAsync(driverDuty); var service = new DriverDutyService(repo.Object, repoWorkBlocks.Object, repoVehicleDutyRepository.Object, uow.Object); var actual = await service.AddDriverDuty(creatingDriverDutyDTO); Assert.Equal(driverDutyDTO, actual); }