/** * @dataProvider getSamples */ public function testCanPackRepresentativeLargerSamples($test, $boxes, $items, $expectedBoxes, $expectedWeightVariance) { $expectedItemCount = 0; $packedItemCount = 0; $packer = new Packer(); foreach ($boxes as $box) { $packer->addBox($box); } foreach ($items as $item) { $packer->addItem(new TestItem($item['name'], $item['width'], $item['length'], $item['depth'], $item['weight']), $item['qty']); $expectedItemCount += $item['qty']; } $packedBoxes = $packer->pack(); foreach (clone $packedBoxes as $packedBox) { $packedItemCount += $packedBox->getItems()->count(); } self::assertEquals($expectedBoxes, $packedBoxes->count()); self::assertEquals($expectedItemCount, $packedItemCount); self::assertEquals($expectedWeightVariance, (int) $packedBoxes->getWeightVariance()); }
public function testIssue20() { $packer = new Packer(); $packer->addBox(new TestBox('Le grande box', 100, 100, 300, 1, 100, 100, 300, 1500)); $packer->addItem(new TestItem('Item 1', 150, 50, 50, 20, false)); $packedBoxes = $packer->pack(); self::assertEquals(1, $packedBoxes->count()); }