public function testTemplateSetContent() { $obj = new Template(); $subject = <<<EOD { "template": { "data": [ { "name": "last", "value": "Smith", "prompt": "Last name" }, { "name": "devices", "value": [ { "id": "02FFFF00", "type": 2 } ] } ] } } EOD; $return = $obj->setContent($subject); $this->assertInstanceOf('\\AKlump\\Http\\CollectionJson\\Template', $return); $dataArray = $obj->getDataArray(); $this->assertCount(2, $dataArray); $this->assertInstanceOf('\\AKlump\\Http\\CollectionJson\\Data', $dataArray[0]); $this->assertSame('last', $dataArray[0]->getName()); $this->assertSame('Smith', $dataArray[0]->getValue()); $this->assertSame('Last name', $dataArray[0]->getPrompt()); $this->assertSame('devices', $dataArray[1]->getName()); $control = array((object) array('id' => '02FFFF00', 'type' => 2)); $this->assertEquals($control, $dataArray[1]->getValue()); $this->assertSame('{"template":{"data":[{"name":"last","prompt":"Last name","value":"Smith"},{"name":"devices","value":[{"id":"02FFFF00","type":2}]}]}}', (string) $obj); }