14 use PHPUnit\Framework\TestCase;
20 class GenericEventTest
extends TestCase
32 protected function setUp()
34 $this->subject = new \stdClass();
35 $this->
event =
new GenericEvent($this->subject, array(
'name' =>
'Event'));
43 $this->subject =
null;
49 $this->assertEquals($this->event,
new GenericEvent($this->subject, array(
'name' =>
'Event')));
58 $this->assertSame(array(
'name' =>
'Event'), $this->event->getArguments());
63 $result = $this->
event->setArguments(array(
'foo' =>
'bar'));
64 $this->assertAttributeSame(array(
'foo' =>
'bar'),
'arguments', $this->event);
65 $this->assertSame($this->event, $result);
70 $result = $this->
event->setArgument(
'foo2',
'bar2');
71 $this->assertAttributeSame(array(
'name' =>
'Event',
'foo2' =>
'bar2'),
'arguments', $this->event);
72 $this->assertEquals($this->event, $result);
78 $this->assertEquals(
'Event', $this->event->getArgument(
'name'));
86 $this->
event->getArgument(
'nameNotExist');
92 $this->assertEquals(
'Event', $this->event[
'name']);
95 $this->{method_exists($this, $_ =
'expectException') ? $_ :
'setExpectedException'}(
'InvalidArgumentException');
96 $this->assertFalse($this->event[
'nameNotExist']);
101 $this->
event[
'foo2'] =
'bar2';
102 $this->assertAttributeSame(array(
'name' =>
'Event',
'foo2' =>
'bar2'),
'arguments', $this->event);
107 unset($this->event[
'name']);
108 $this->assertAttributeSame(array(),
'arguments', $this->event);
113 $this->assertArrayHasKey(
'name', $this->event);
114 $this->assertArrayNotHasKey(
'nameNotExist', $this->event);
119 $this->assertTrue($this->event->hasArgument(
'name'));
120 $this->assertFalse($this->event->hasArgument(
'nameNotExist'));
125 $this->assertSame($this->subject, $this->event->getSubject());
131 foreach ($this->event as $key => $value) {
132 $data[$key] = $value;
134 $this->assertEquals(array(
'name' =>
'Event'), $data);