setAlias('foo'); $pref = new UserPreference(); $pref->setName('foo')->setValue('bar'); $sut = new UserPreferenceEvent($user, []); $this->assertEquals($user, $sut->getUser()); $this->assertEquals([], $sut->getPreferences()); $sut->addPreference($pref); $this->assertEquals([$pref], $sut->getPreferences()); } public function testDuplicatePreferenceThrowsException() { $this->expectException(\InvalidArgumentException::class); $user = new User(); $user->setAlias('foo'); $pref = new UserPreference(); $pref->setName('foo')->setValue('bar'); $pref2 = new UserPreference(); $pref2->setName('foo')->setValue('hello'); $sut = new UserPreferenceEvent($user, []); $sut->addUserPreference($pref); // change me, once the deprecated method will be deleted $sut->addPreference($pref2); } }