From 6d7d9c5ee5770c0ae2b1ff2bf1b633cecd5be952 Mon Sep 17 00:00:00 2001 From: Doug Wright Date: Wed, 26 Jul 2023 13:26:37 +0100 Subject: [PATCH] Backport test helper usage --- features/bootstrap/PackerContext.php | 8 +--- tests/VolumePackerTest.php | 72 ++++++++-------------------- 2 files changed, 22 insertions(+), 58 deletions(-) diff --git a/features/bootstrap/PackerContext.php b/features/bootstrap/PackerContext.php index e0806f1..2f3d9d4 100644 --- a/features/bootstrap/PackerContext.php +++ b/features/bootstrap/PackerContext.php @@ -99,9 +99,7 @@ public function thereIsAnItem( $weight ): void { $item = new TestItem($itemName, $width, $length, $depth, $weight, Rotation::BestFit); - for ($i = 0; $i < $qty; ++$i) { - $this->itemList->insert($item); - } + $this->itemList->insert($item, $qty); } /** @@ -116,9 +114,7 @@ public function thereIsAKeepFlatItem( $weight ): void { $item = new TestItem($itemName, $width, $length, $depth, $weight, Rotation::KeepFlat); - for ($i = 0; $i < $qty; ++$i) { - $this->itemList->insert($item); - } + $this->itemList->insert($item, $qty); } /** diff --git a/tests/VolumePackerTest.php b/tests/VolumePackerTest.php index f79b701..fb57179 100644 --- a/tests/VolumePackerTest.php +++ b/tests/VolumePackerTest.php @@ -135,9 +135,7 @@ public function testIssue47A(): void $box = new TestBox('165x225x25Box', 165, 225, 25, 0, 165, 225, 25, 100); $item = new TestItem('20x69x20Item', 20, 69, 20, 0, Rotation::KeepFlat); $itemList = new ItemList(); - for ($i = 0; $i < 23; ++$i) { - $itemList->insert($item); - } + $itemList->insert($item, 23); $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); @@ -153,9 +151,7 @@ public function testIssue47B(): void $box = new TestBox('165x225x25Box', 165, 225, 25, 0, 165, 225, 25, 100); $item = new TestItem('20x69x20Item', 69, 20, 20, 0, Rotation::KeepFlat); $itemList = new ItemList(); - for ($i = 0; $i < 23; ++$i) { - $itemList->insert($item); - } + $itemList->insert($item, 23); $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); @@ -172,9 +168,7 @@ public function testAllowsRotatedBoxesInNewRow(): void $box = new TestBox('40x70x30InternalBox', 40, 70, 30, 0, 40, 70, 30, 1000); $item = new TestItem('30x10x30item', 30, 10, 30, 0, Rotation::KeepFlat); $itemList = new ItemList(); - for ($i = 0; $i < 9; ++$i) { - $itemList->insert($item); - } + $itemList->insert($item, 9); $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); @@ -218,9 +212,7 @@ public function testIssue148(): void $box = new TestBox('Box', 27, 37, 22, 100, 25, 36, 21, 15000); $item = new TestItem('Item', 6, 12, 20, 100, Rotation::BestFit); $itemList = new ItemList(); - for ($i = 0; $i < 12; ++$i) { - $itemList->insert($item); - } + $itemList->insert($item, 12); $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); @@ -230,9 +222,7 @@ public function testIssue148(): void $box = new TestBox('Box', 27, 37, 22, 100, 25, 36, 21, 15000); $item = new TestItem('Item', 6, 12, 20, 100, Rotation::KeepFlat); $itemList = new ItemList(); - for ($i = 0; $i < 12; ++$i) { - $itemList->insert($item); - } + $itemList->insert($item, 12); $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); @@ -248,10 +238,8 @@ public function testIssue147A(): void $box = new TestBox('Box', 250, 1360, 260, 0, 250, 1360, 260, 30000); $itemList = new ItemList(); $item = new TestItem('Item', 90, 200, 200, 150, Rotation::KeepFlat); + $itemList->insert($item, 14); - for ($i = 0; $i < 14; ++$i) { - $itemList->insert($item); - } $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); @@ -300,23 +288,17 @@ public function testIssue161(): void $item2 = new TestItem('Item 2', 95, 75, 95, 0, Rotation::KeepFlat); $itemList = new ItemList(); - for ($i = 0; $i < 6; ++$i) { - $itemList->insert($item1); - } - for ($i = 0; $i < 3; ++$i) { - $itemList->insert($item2); - } + $itemList->insert($item1, 6); + $itemList->insert($item2, 3); + $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); self::assertCount(9, $packedBox->getItems()); $itemList = new ItemList(); - for ($i = 0; $i < 6; ++$i) { - $itemList->insert($item1); - } - for ($i = 0; $i < 2; ++$i) { - $itemList->insert($item2); - } + $itemList->insert($item1, 6); + $itemList->insert($item2, 2); + $packer = new VolumePacker($box, $itemList); $packedBox = $packer->pack(); self::assertCount(8, $packedBox->getItems()); @@ -392,14 +374,10 @@ public function testIssue172B(): void $items = new ItemList(); $item = new TestItem('Larger', 10, 5, 8, 0, Rotation::BestFit); - for ($i = 0; $i < 10; ++$i) { - $items->insert($item); - } + $items->insert($item, 10); - for ($i = 0; $i < 5; ++$i) { - $item = new TestItem('Smaller', 5, 5, 3, 0, Rotation::BestFit); - $items->insert($item); - } + $item = new TestItem('Smaller', 5, 5, 3, 0, Rotation::BestFit); + $items->insert($item, 5); $volumePacker = new VolumePacker($box, $items); $packedBox = $volumePacker->pack(); @@ -416,9 +394,7 @@ public function testPassedInItemListKeepsItems(): void $items = new ItemList(); $item = new TestItem('Item', 10, 5, 8, 0, Rotation::BestFit); - for ($i = 0; $i < 10; ++$i) { - $items->insert($item); - } + $items->insert($item, 10); $volumePacker = new VolumePacker($box, $items); $packedBox = $volumePacker->pack(); @@ -434,9 +410,7 @@ public function testOrientationDecisions(): void $box = new TestBox('Box', 25, 25, 20, 0, 25, 25, 20, 1000); $items = new ItemList(); $item = new TestItem('Item', 5, 6, 20, 20, Rotation::KeepFlat); - for ($i = 0; $i < 20; ++$i) { - $items->insert($item); - } + $items->insert($item, 20); $volumePacker = new VolumePacker($box, $items); $packedBox = $volumePacker->pack(); @@ -446,9 +420,7 @@ public function testOrientationDecisions(): void $box = new TestBox('Box', 25, 25, 20, 0, 25, 25, 20, 1000); $items = new ItemList(); $item = new TestItem('Item', 20, 5, 6, 20, Rotation::BestFit); - for ($i = 0; $i < 20; ++$i) { - $items->insert($item); - } + $items->insert($item, 20); $volumePacker = new VolumePacker($box, $items); $packedBox = $volumePacker->pack(); @@ -464,9 +436,7 @@ public function testIssue175(): void $box = new TestBox('Box', 40, 40, 40, 0, 40, 40, 40, 1000); $items = new ItemList(); $item = new TestItem('Item', 35, 35, 5, 20, Rotation::BestFit); - for ($i = 0; $i < 10; ++$i) { - $items->insert($item); - } + $items->insert($item, 10); $volumePacker = new VolumePacker($box, $items); $packedBox = $volumePacker->pack(); @@ -483,9 +453,7 @@ public function testIssue221(): void $items = new ItemList(); $items->insert(new TestItem('Item 1', 150, 150, 150, 1, Rotation::BestFit)); $item2 = new TestItem('Item 2', 50, 50, 50, 1, Rotation::BestFit); - for ($i = 0; $i < 37; ++$i) { - $items->insert($item2); - } + $items->insert($item2, 37); $volumePacker = new VolumePacker($box, $items); $packedBox = $volumePacker->pack();