Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }