public function testCalendarAttendee() { $xparam1 = new \Zimbra\Mail\Struct\XParam('name1', 'value1'); $xparam2 = new \Zimbra\Mail\Struct\XParam('name2', 'value2'); $cal = new \Zimbra\Mail\Struct\CalendarAttendee(array($xparam1), 'a', 'url', 'd', 'sentBy', 'dir', 'lang', 'cutype', 'role', ParticipationStatus::NE(), true, 'member', 'delTo', 'delFrom'); $this->assertSame(array($xparam1), $cal->xparam()->all()); $this->assertSame('a', $cal->a()); $this->assertSame('url', $cal->url()); $this->assertSame('d', $cal->d()); $this->assertSame('sentBy', $cal->sentBy()); $this->assertSame('dir', $cal->dir()); $this->assertSame('lang', $cal->lang()); $this->assertSame('cutype', $cal->cutype()); $this->assertSame('role', $cal->role()); $this->assertTrue($cal->ptst()->is('NE')); $this->assertTrue($cal->rsvp()); $this->assertSame('member', $cal->member()); $this->assertSame('delTo', $cal->delTo()); $this->assertSame('delFrom', $cal->delFrom()); $cal->addXParam($xparam2); $this->assertSame(array($xparam1, $xparam2), $cal->xparam()->all()); $cal->a('a')->url('url')->d('d')->sentBy('sentBy')->dir('dir')->lang('lang')->cutype('cutype')->role('role')->ptst(ParticipationStatus::AC())->rsvp(true)->member('member')->delTo('delTo')->delFrom('delFrom'); $this->assertSame('a', $cal->a()); $this->assertSame('url', $cal->url()); $this->assertSame('d', $cal->d()); $this->assertSame('sentBy', $cal->sentBy()); $this->assertSame('dir', $cal->dir()); $this->assertSame('lang', $cal->lang()); $this->assertSame('cutype', $cal->cutype()); $this->assertSame('role', $cal->role()); $this->assertTrue($cal->ptst()->is('AC')); $this->assertTrue($cal->rsvp()); $this->assertSame('member', $cal->member()); $this->assertSame('delTo', $cal->delTo()); $this->assertSame('delFrom', $cal->delFrom()); $xml = '<?xml version="1.0"?>' . "\n" . '<at a="a" url="url" d="d" sentBy="sentBy" dir="dir" lang="lang" cutype="cutype" role="role" ptst="AC" rsvp="true" member="member" delTo="delTo" delFrom="delFrom">' . '<xparam name="name1" value="value1" />' . '<xparam name="name2" value="value2" />' . '</at>'; $this->assertXmlStringEqualsXmlString($xml, (string) $cal); $array = array('at' => array('a' => 'a', 'url' => 'url', 'd' => 'd', 'sentBy' => 'sentBy', 'dir' => 'dir', 'lang' => 'lang', 'cutype' => 'cutype', 'role' => 'role', 'ptst' => 'AC', 'rsvp' => true, 'member' => 'member', 'delTo' => 'delTo', 'delFrom' => 'delFrom', 'xparam' => array(array('name' => 'name1', 'value' => 'value1'), array('name' => 'name2', 'value' => 'value2')))); $this->assertEquals($array, $cal->toArray()); }