}, void, void> */ public function slotsProvider() : \Generator{ yield [array_values(BrewingStandSlot::getAll())]; yield [[BrewingStandSlot::EAST()]]; yield [[BrewingStandSlot::EAST(), BrewingStandSlot::NORTHWEST()]]; } /** * @dataProvider slotsProvider * * @param BrewingStandSlot[] $slots * @phpstan-param list $slots */ public function testHasAndSetSlot(array $slots) : void{ $block = VanillaBlocks::BREWING_STAND(); foreach($slots as $slot){ $block->setSlot($slot, true); } foreach($slots as $slot){ self::assertTrue($block->hasSlot($slot)); } foreach($slots as $slot){ $block->setSlot($slot, false); } foreach($slots as $slot){ self::assertFalse($block->hasSlot($slot)); } } /** * @dataProvider slotsProvider * * @param BrewingStandSlot[] $slots * @phpstan-param list $slots */ public function testGetSlots(array $slots) : void{ $block = VanillaBlocks::BREWING_STAND(); foreach($slots as $slot){ $block->setSlot($slot, true); } self::assertCount(count($slots), $block->getSlots()); foreach($slots as $slot){ $block->setSlot($slot, false); } self::assertCount(0, $block->getSlots()); } /** * @dataProvider slotsProvider * * @param BrewingStandSlot[] $slots * @phpstan-param list $slots */ public function testSetSlots(array $slots) : void{ $block = VanillaBlocks::BREWING_STAND(); $block->setSlots($slots); foreach($slots as $slot){ self::assertTrue($block->hasSlot($slot)); } $block->setSlots([]); self::assertCount(0, $block->getSlots()); foreach($slots as $slot){ self::assertFalse($block->hasSlot($slot)); } } }