Skip to content

Commit

Permalink
Backport test helper usage
Browse files Browse the repository at this point in the history
  • Loading branch information
dvdoug committed Jul 28, 2023
1 parent 3bcde68 commit 6d7d9c5
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 58 deletions.
8 changes: 2 additions & 6 deletions features/bootstrap/PackerContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/**
Expand All @@ -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);
}

/**
Expand Down
72 changes: 20 additions & 52 deletions tests/VolumePackerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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();
Expand All @@ -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();
Expand Down Expand Up @@ -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();
Expand All @@ -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();
Expand All @@ -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();

Expand Down Expand Up @@ -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());
Expand Down Expand Up @@ -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();
Expand All @@ -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();
Expand All @@ -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();
Expand All @@ -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();
Expand All @@ -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();
Expand All @@ -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();
Expand Down

0 comments on commit 6d7d9c5

Please sign in to comment.