/** * @dataProvider provideChangedOptions */ public function testIsOptionsChanged($oldOptions, $newOptions) { $invoker = new \stdClass(); $mutableEventArgs = new MutableEventArgs($invoker, [], $oldOptions); $this->assertFalse($mutableEventArgs->isOptionsChanged()); $this->assertSame($oldOptions, $mutableEventArgs->getOptions()); $mutableEventArgs->setOptions($oldOptions); $this->assertSame($oldOptions, $mutableEventArgs->getOptions()); $this->assertFalse($mutableEventArgs->isOptionsChanged()); $mutableEventArgs->setOptions($newOptions); $this->assertSame($newOptions, $mutableEventArgs->getOptions()); $this->assertTrue($mutableEventArgs->isOptionsChanged()); $mutableEventArgs->setOptions($newOptions); $this->assertSame($newOptions, $mutableEventArgs->getOptions()); $this->assertTrue($mutableEventArgs->isOptionsChanged()); $mutableEventArgs->setOptions($oldOptions); $this->assertSame($oldOptions, $mutableEventArgs->getOptions()); $this->assertFalse($mutableEventArgs->isOptionsChanged()); }