public void Should_no_go_in_empty_aisles() { const int aiseLenght = 2; var warehouse = new Warehouse(1, 6, aiseLenght); var clientWish1 = new PickingPos(1, 1, 1, 1, aiseLenght, 1); var clientWish2 = new PickingPos(2, 1, 6, 1, aiseLenght, 1); var wishes = new DummyPickings { PickingList = new List <PickingPos> { clientWish1, clientWish2 } }; var solver = new SShapeSolverV2(warehouse, wishes); var solution = solver.Solve(); var intermediatePoint = new ShiftPoint(1, 0); var intermediatePoint2 = new ShiftPoint(1, aiseLenght + 1); var intermediatePoint3 = new ShiftPoint(7, aiseLenght + 1); var intermediatePoint4 = new ShiftPoint(7, 0); var wantedSolution = new List <ShiftPoint> { _initShiftPoint, intermediatePoint, clientWish1.ConverToShiftPoint(), intermediatePoint2, intermediatePoint3, clientWish2.ConverToShiftPoint(), intermediatePoint4, _initShiftPoint }; Check.That(solution.ShiftPointList).IsEqualTo(wantedSolution); }
public void Should_consider_that_2_wishes_on_the_same_position_idx_but_different_aisle_idx_are_picked_in_the_same_time() { const int aiseLenght = 1; const int nbAisle = 2; var warehouse = new Warehouse(1, nbAisle, aiseLenght); var clientWish1 = new PickingPos(1, 1, 1, 1, aiseLenght, 1); var clientWish2 = new PickingPos(2, 1, 2, 1, aiseLenght, 1); var wishes = new DummyPickings { PickingList = new List <PickingPos> { clientWish1, clientWish2 } }; var solver = new SShapeSolverV2(warehouse, wishes); var solution = solver.Solve(); var intermediatePoint = new ShiftPoint(1, 0); var intermediatePoint3 = new ShiftPoint(1, 0); var wantedSolution = new List <ShiftPoint> { _initShiftPoint, intermediatePoint, clientWish1.ConverToShiftPoint(), intermediatePoint3, _initShiftPoint }; Check.That(solution.ShiftPointList).IsEqualTo(wantedSolution); }
public void Should_go_to_the_first_wish_and_return() { var warehouse = new Warehouse(1, 1, 1); var wishes = new DummyPickings { PickingList = new List <PickingPos> { new PickingPos(1, 1, 1, 1, 1, 1) } }; var solver = new SShapeSolverV2(warehouse, wishes); var solution = solver.Solve(); var shiftPointList = solution.ShiftPointList; var destination = new ShiftPoint(1, 1); var intermediatePoint = new ShiftPoint(1, 0); var wantedSolution = new List <ShiftPoint> { _initShiftPoint, intermediatePoint, destination, intermediatePoint, _initShiftPoint }; Check.That(shiftPointList).IsEqualTo(wantedSolution); }
public void Should_go_in_nearest_aisle_o_the_right_when_changing_block() { const int aiseLenght = 2; var warehouse = new Warehouse(2, 6, aiseLenght); var clientWish1 = new PickingPos(1, 1, 1, 1, aiseLenght, 1); //done in the first trip var clientWish2 = new PickingPos(2, 2, 3, 1, aiseLenght, 1); var clientWish3 = new PickingPos(3, 2, 5, 1, aiseLenght, 1); var clientWish4 = new PickingPos(4, 1, 5, 1, aiseLenght, 1); var clientWish5 = new PickingPos(5, 1, 4, 1, aiseLenght, 1); var wishes = new DummyPickings { PickingList = new List <PickingPos> { clientWish1, clientWish2, clientWish3, clientWish4, clientWish5 } }; var solver = new SShapeSolverV2(warehouse, wishes); var solution = solver.Solve(); var intermediatePoint = new ShiftPoint(1, 0); var intermediatePoint2 = new ShiftPoint(1, aiseLenght + 2); var intermediatePoint3 = new ShiftPoint(4, aiseLenght + 2); var intermediatePoint4 = new ShiftPoint(4, 2 * aiseLenght + 3); var intermediatePoint5 = new ShiftPoint(7, 2 * aiseLenght + 3); var intermediatePoint6 = new ShiftPoint(7, aiseLenght + 2); var intermediatePoint7 = new ShiftPoint(7, 0); var intermediatePoint8 = new ShiftPoint(4, 0); var wantedSolution = new List <ShiftPoint> { _initShiftPoint, intermediatePoint, clientWish1.ConverToShiftPoint(), intermediatePoint2, intermediatePoint3, clientWish2.ConverToShiftPoint(), intermediatePoint4, intermediatePoint5, clientWish3.ConverToShiftPoint(), intermediatePoint6, clientWish4.ConverToShiftPoint(), intermediatePoint7, intermediatePoint8, clientWish5.ConverToShiftPoint(), intermediatePoint8, _initShiftPoint }; Check.That(solution.ShiftPointList).IsEqualTo(wantedSolution); }
public void Bug() { const int aiseLenght = 1; var warehouse = new Warehouse(2, 6, aiseLenght); var clientWish1 = new PickingPos(1, 1, 2, 1, aiseLenght, 1); //done in the first trip var clientWish2 = new PickingPos(2, 2, 2, 1, aiseLenght, 1); var clientWish3 = new PickingPos(3, 1, 4, 1, aiseLenght, 1); var clientWish4 = new PickingPos(4, 2, 4, 1, aiseLenght, 1); var clientWish5 = new PickingPos(5, 1, 5, 1, aiseLenght, 1); var clientWish6 = new PickingPos(5, 1, 6, 1, aiseLenght, 1); var clientWish7 = new PickingPos(5, 2, 5, 1, aiseLenght, 1); var wishes = new DummyPickings { PickingList = new List <PickingPos> { clientWish1, clientWish2, clientWish3, clientWish4, clientWish5, clientWish6, clientWish7 } }; var solver = new SShapeSolverV2(warehouse, wishes); var solution = solver.Solve(); var wantedSolution = new List <ShiftPoint> { _initShiftPoint, new ShiftPoint(1, 0), clientWish1.ConverToShiftPoint(), new ShiftPoint(1, 3), clientWish2.ConverToShiftPoint(), new ShiftPoint(1, 5), new ShiftPoint(4, 5), clientWish4.ConverToShiftPoint(), new ShiftPoint(4, 3), new ShiftPoint(7, 3), clientWish7.ConverToShiftPoint(), new ShiftPoint(7, 3), clientWish5.ConverToShiftPoint(), new ShiftPoint(7, 0), new ShiftPoint(4, 0), clientWish3.ConverToShiftPoint(), new ShiftPoint(4, 0), _initShiftPoint }; Check.That(solution.ShiftPointList).IsEqualTo(wantedSolution); }
public void Should_no_go_in_aisle_in_middle_block_already_done_in_first_trip() { const int aiseLenght = 2; var warehouse = new Warehouse(2, 3, aiseLenght); var clientWish1 = new PickingPos(1, 1, 1, 1, aiseLenght, 1); //done in the first trip var clientWish2 = new PickingPos(2, 2, 1, 1, aiseLenght, 1); var clientWish3 = new PickingPos(3, 2, 3, 1, aiseLenght, 1); var wishes = new DummyPickings { PickingList = new List <PickingPos> { clientWish1, clientWish2, clientWish3 } }; var solver = new SShapeSolverV2(warehouse, wishes); var solution = solver.Solve(); var intermediatePoint = new ShiftPoint(1, 0); var intermediatePoint2 = new ShiftPoint(1, aiseLenght + 2); var intermediatePoint3 = new ShiftPoint(1, 2 * aiseLenght + 3); var intermediatePoint4 = new ShiftPoint(4, 2 * aiseLenght + 3); var intermediatePoint5 = new ShiftPoint(4, aiseLenght + 2); var intermediatePoint6 = new ShiftPoint(4, 0); var wantedSolution = new List <ShiftPoint> { _initShiftPoint, intermediatePoint, clientWish1.ConverToShiftPoint(), intermediatePoint2, clientWish2.ConverToShiftPoint(), intermediatePoint3, intermediatePoint4, clientWish3.ConverToShiftPoint(), intermediatePoint5, intermediatePoint6, _initShiftPoint }; Check.That(solution.ShiftPointList).IsEqualTo(wantedSolution); }