public function testConstruct() { $item = new Item(123, 456, 789, 321); $this->assertSame(123, $item->getWidth()); $this->assertSame(456, $item->getHeight()); $this->assertSame(789, $item->getDepth()); $this->assertSame(321, $item->getWeight()); }
public function isItemCeilPlaced(Item $item) { $reverseFloor = []; $ceilLength = $this->getRemainCeilLength(); foreach ($this->floor as $i) { if ($i->getItem()->getLength() <= $ceilLength) { $reverseFloor[] = $i; $ceilLength -= $i->getItem()->getLength(); continue; } break; } if (empty($reverseFloor)) { return false; } $reverseFloor = array_reverse($reverseFloor); $length = $this->getRemainFloorLength(); /** @var LevelItem $i */ foreach ($reverseFloor as $i) { if ($item->getLength() <= ($length += $i->getItem()->getLength())) { if ($item->getHeight() <= $i->getRemainHeight()) { return true; } break; } } }