setName('Test'); $this->assertEquals('Test', $item->getName()); $vendor = new FoodVendor; $vendor->setName('Test'); $item->setFoodVendor($vendor); $this->assertEquals($vendor, $item->getFoodVendor()); $this->assertFalse($item->isDeleted()); $this->assertNull($item->getDeletedAt()); $item->delete(); $this->assertTrue($item->isDeleted()); $this->assertInstanceOf(DateTimeImmutable::class, $item->getDeletedAt()); } public function testMenuItemAlias(): void { $item = new MenuItem; $item->setName('Test'); $this->assertEquals('Test', $item->getName()); $vendor = new FoodVendor; $vendor->setName('Test'); $item->setFoodVendor($vendor); $item2 = new MenuItem; $item2->setName('Test2'); $item2->setFoodVendor($vendor); $item->addAlias($item2); $this->assertCount(1, $item->getAliases()); $this->assertSame($item, $item2->getAliasOf()); $item->removeAlias($item2); $this->assertCount(0, $item->getAliases()); $this->assertNull($item2->getAliasOf()); } }