public function testConvertsToAndFromArray() { $acp = new Acp(new Grantee('foo'), array(new Grant(new Grantee('baz'), Permission::READ), new Grant(new Grantee('bar'), Permission::READ), new Grant(new Grantee('baz'), Permission::WRITE), new Grant(new Grantee('baz'), Permission::READ_ACP))); $data = array('Owner' => array('ID' => 'foo', 'DisplayName' => 'foo'), 'Grants' => array(array('Grantee' => array('Type' => 'CanonicalUser', 'ID' => 'baz', 'DisplayName' => 'baz'), 'Permission' => 'READ'), array('Grantee' => array('Type' => 'CanonicalUser', 'ID' => 'bar', 'DisplayName' => 'bar'), 'Permission' => 'READ'), array('Grantee' => array('Type' => 'CanonicalUser', 'ID' => 'baz', 'DisplayName' => 'baz'), 'Permission' => 'WRITE'), array('Grantee' => array('Type' => 'CanonicalUser', 'ID' => 'baz', 'DisplayName' => 'baz'), 'Permission' => 'READ_ACP'))); $this->assertEquals($data, $acp->toArray()); $acp2 = Acp::fromArray($data); $this->assertEquals($data, $acp2->toArray()); }