DVDoug\BoxPacker\PackerTest::testPackFiveItemsTwoLargeOneSmallBox PHP Method

testPackFiveItemsTwoLargeOneSmallBox() public method

    public function testPackFiveItemsTwoLargeOneSmallBox()
    {
        $box1 = new TestBox('Le petite box', 600, 600, 10, 10, 596, 596, 8, 1000);
        $box2 = new TestBox('Le grande box', 3000, 3000, 50, 100, 2960, 2960, 40, 10000);
        $item1 = new TestItem('Item 1', 2500, 2500, 20, 500, true);
        $item2 = new TestItem('Item 2', 550, 550, 2, 500, true);
        $item3 = new TestItem('Item 3', 2500, 2500, 20, 500, true);
        $item4 = new TestItem('Item 4', 2500, 2500, 20, 500, true);
        $item5 = new TestItem('Item 5', 2500, 2500, 20, 500, true);
        $packer = new Packer();
        $packer->addBox($box1);
        $packer->addBox($box2);
        $packer->addItem($item1);
        $packer->addItem($item2);
        $packer->addItem($item3);
        $packer->addItem($item4);
        $packer->addItem($item5);
        $packedBoxes = $packer->pack();
        self::assertEquals(3, $packedBoxes->count());
        self::assertEquals(2, $packedBoxes->top()->getItems()->count());
        self::assertEquals($box2, $packedBoxes->top()->getBox());
        self::assertEquals(1100, $packedBoxes->top()->getWeight());
        $packedBoxes->extract();
        self::assertEquals(2, $packedBoxes->top()->getItems()->count());
        self::assertEquals($box2, $packedBoxes->top()->getBox());
        self::assertEquals(1100, $packedBoxes->top()->getWeight());
        $packedBoxes->extract();
        self::assertEquals(1, $packedBoxes->top()->getItems()->count());
        self::assertEquals($box1, $packedBoxes->top()->getBox());
        self::assertEquals(510, $packedBoxes->top()->getWeight());
    }