setAlias('foo'); $pref = new UserPreference('foo', 'bar'); $sut = new UserPreferenceEvent($user, []); self::assertEquals($user, $sut->getUser()); self::assertTrue($sut->isBooting()); self::assertEquals([], $sut->getPreferences()); $sut->addPreference($pref); self::assertEquals([$pref], $sut->getPreferences()); $sut = new UserPreferenceEvent($user, [], false); self::assertFalse($sut->isBooting()); } public function testDuplicatePreferenceThrowsException(): void { $this->expectException(\InvalidArgumentException::class); $user = new User(); $user->setAlias('foo'); $pref = new UserPreference('foo', 'bar'); $pref2 = new UserPreference('foo', 'hello'); $sut = new UserPreferenceEvent($user, []); $sut->addPreference($pref); $sut->addPreference($pref2); } }