![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/dvdoug/boxpacker/features/bootstrap/ |
<?php /** * Box packing (3D bin packing, knapsack problem). * * @author Doug Wright */ declare(strict_types=1); use DVDoug\BoxPacker\InfalliblePacker; use DVDoug\BoxPacker\ItemList; use PHPUnit\Framework\Assert; /** * Defines application features from the specific context. */ class InfalliblePackerContext extends PackerContext { protected string $packerClass = InfalliblePacker::class; protected ItemList $unpackedItemList; /** * @When I do an infallible packing */ public function iDoAnInfalliblePacking(): void { $packer = new InfalliblePacker(); $packer->setBoxes($this->boxList); $packer->setItems($this->itemList); $this->packedBoxList = $packer->pack(); $this->unpackedItemList = $packer->getUnpackedItems(); } /** * @Then /^the unpacked item list should have (\d+) items of type "([^"]+)"$/ */ public function theUnpackedItemListShouldHaveItems( $qty, $itemType ): void { $foundItems = 0; foreach ($this->unpackedItemList as $unpackedItem) { if ($unpackedItem->getDescription() === $itemType) { ++$foundItems; } } Assert::assertEquals($qty, $foundItems); } }