![]() 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/tests/Test/ |
<?php /** * Box packing (3D bin packing, knapsack problem). * * @author Doug Wright */ declare(strict_types=1); namespace DVDoug\BoxPacker\Test; use DVDoug\BoxPacker\Box; use DVDoug\BoxPacker\ConstrainedItem; use DVDoug\BoxPacker\PackedItem; use DVDoug\BoxPacker\PackedItemList; use function array_filter; use function count; use function iterator_to_array; class ConstrainedTestItem extends TestItem implements ConstrainedItem { /** * @var int */ public static $limit = 3; public function canBePackedInBox(PackedItemList $alreadyPackedItems, Box $box): bool { $alreadyPackedType = array_filter( iterator_to_array($alreadyPackedItems, false), function (PackedItem $item) { return $item->getItem()->getDescription() === $this->getDescription(); } ); return count($alreadyPackedType) + 1 <= static::$limit; } }