public void Should_deinterlace_when_there_is_too_much_right_letf_going_and_coming() { var warehouse = new Warehouse(1, 2, 3); var clientWish1 = new ClientWishPos(1, 1, 1, 1, 3, 1); var clientWish2 = new ClientWishPos(2, 1, 1, 2, 3, 1); var clientWish3 = new ClientWishPos(3, 1, 1, 3, 3, 1); var clientWish4 = new ClientWishPos(4, 1, 2, 1, 3, 1); var clientWish5 = new ClientWishPos(5, 1, 2, 2, 3, 1); var clientWish6 = new ClientWishPos(6, 1, 2, 3, 3, 1); var wishes = new DummyClientWish { ClientWishes = new List <ClientWishPos> { clientWish1, clientWish2, clientWish3, clientWish4, clientWish5, clientWish6 } }; var solver = new SShapeSolver(warehouse, wishes); var orderWishesByAisle = solver.OrderWishesByAisle(wishes.ClientWishes, false); var wantedSolution = new List <ShiftPoint> { clientWish1.ConverToShiftPoint(), clientWish4.ConverToShiftPoint(), clientWish5.ConverToShiftPoint(), clientWish2.ConverToShiftPoint(), clientWish3.ConverToShiftPoint(), clientWish6.ConverToShiftPoint() }; Check.That(orderWishesByAisle).IsEqualTo(wantedSolution); }
public void Should_priority_to_the_wish_on_the_same_position_in_a_pair_of_aisles() { var warehouse = new Warehouse(1, 2, 2); var clientWish1 = new ClientWishPos(1, 1, 1, 1, 2, 1); var clientWish2 = new ClientWishPos(2, 1, 1, 2, 2, 1); var clientWish3 = new ClientWishPos(3, 1, 2, 1, 2, 1); var wishes = new DummyClientWish { ClientWishes = new List <ClientWishPos> { clientWish1, clientWish2, clientWish3 } }; var solver = new SShapeSolver(warehouse, wishes); var orderWishesByAisle = solver.OrderWishesByAisle(wishes.ClientWishes, false); var wantedSolution = new List <ShiftPoint> { clientWish1.ConverToShiftPoint(), clientWish3.ConverToShiftPoint(), clientWish2.ConverToShiftPoint() }; Check.That(orderWishesByAisle).IsEqualTo(wantedSolution); }