public function testPackingCall()
 {
     $impl = new Implementation();
     $rpcCall = new MethodCall("examples.getStateName", array(41));
     $httpRequest = $impl->createHttpRequest($rpcCall);
     $this->assertXmlValuesEqual("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n        <methodCall>\n            <methodName>examples.getStateName</methodName>\n            <params>\n                <param>\n                    <value>\n                        <int>41</int>\n                    </value>\n                </param>\n            </params>\n        </methodCall>", $httpRequest->getContent());
     $this->assertEquals("text/xml", $httpRequest->headers->get('Content-Type'));
 }
 public function testExtractingStructResponse()
 {
     $responseXml = "<?xml version='1.0'?>\n        <methodResponse>\n            <params>\n                <param>\n                    <value>\n                        <struct>\n                            <member>\n                                <name>fooName</name>\n                                <value>\n                                    <string>fooValue</string>\n                                </value>\n                            </member>\n                            <member>\n                                <name>barName</name>\n                                <value>\n                                    <int>42</int>\n                                </value>\n                            </member>\n                        </struct>\n                    </value>\n                </param>\n            </params>\n        </methodResponse>\n        ";
     $expectedResponseValues = array('fooName' => 'fooValue', 'barName' => 42);
     $impl = new Implementation();
     $httpResponse = $this->getMock("Symfony\\Component\\HttpFoundation\\Response");
     $httpResponse->expects($this->once())->method('getContent')->will($this->returnValue($responseXml));
     $methodResponse = $impl->createMethodResponse($httpResponse);
     $this->assertInstanceOf("Seven\\RpcBundle\\Rpc\\Method\\MethodReturn", $methodResponse);
     $this->assertEquals($expectedResponseValues, $methodResponse->getReturnValue());
 }
 public function testTypeDetectNull()
 {
     $this->assertEquals(ValueType::Null, $this->impl->detectType(NULL), "Detect NULL when NULL given");
 }