public function testListOfValues() { $generic = new GenericMessage('a'); $generic->setChild(new NodeElement('b', 'c1'), 0); $generic->setChild(new NodeElement('b', 'c2'), 1); $obtained = $this->sut->toArray($generic); $expected = ['a' => ['b' => ['c1', 'c2']]]; $this->assertEquals(serialize($expected), serialize($obtained)); }
public function testComposite2() { $generic = new GenericMessage('a'); $generic->setChild(new NodeElement('b', 'c'), 0); $generic->setChild(new NodeElement('d', 'e'), 1); $generic->setChild(new NodeElement('b', 'f'), 2); $obtained = $this->sut->toStdObject($generic); $this->assertInstanceOf('StdClass', $obtained); $this->assertEquals('e', $obtained->a->d); $this->assertEquals(serialize(['c', 'f']), serialize($obtained->a->b)); }
public function testNestedElements() { $msg = new GenericMessage('pack'); $child1 = new NodeElement('width', '2'); $child2 = new NodeElement('height', '3'); $msg->setChild($child1, 0); $msg->setChild($child2, 1); $sut = $this->sut; $obtained = $sut->buildContent($msg); $parsed = json_decode($obtained); $this->assertEquals('2', $parsed->pack->width); }
public function testListOfElements() { $list = new NodeElement('val', [1]); $sut = $this->sut; $xml = $sut->buildContent($list); $this->assertEquals('<val>1</val>', $xml); $list = new NodeElement('val', [1, 2]); $xml = $sut->buildContent($list); $this->assertEquals('<val>1</val><val>2</val>', $xml); $nodeList = new NodeList(); $nodeList->setName('list'); $nodeList->addNode(new NodeElement('val', '1')); $nodeList->addNode(new NodeElement('val', '2')); $xml = $sut->buildContent($nodeList); $this->assertEquals('<list><val>1</val><val>2</val></list>', $xml); $message = new GenericMessage('ListOfVals'); $message->setChild($list, 0); $xml = $sut->buildContent($message); $this->assertEquals('<ListOfVals><val>1</val><val>2</val></ListOfVals>', $xml); $param = new NodeElement('param', 'param1'); $message->setChild($param, 1); $xml = $sut->buildContent($message); $this->assertEquals('<ListOfVals><val>1</val><val>2</val><param>param1</param></ListOfVals>', $xml); }