Пример #1
0
 /**
  * @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());
 }
Пример #2
0
 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());
 }