object = new AnyDataset(); } public function testConstructorString() { $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample'); $this->assertEquals(2, count($anydata->getIterator()->toArray())); $this->assertEquals([ [ "field1" => "value1", "field2" => "value2", ], [ "field1" => "othervalue1", "field2" => "othervalue2", ], ], $anydata->getIterator()->toArray()); $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample.anydata.xml'); $this->assertEquals(2, count($anydata->getIterator()->toArray())); $this->assertEquals([ [ "field1" => "value1", "field2" => "value2", ], [ "field1" => "othervalue1", "field2" => "othervalue2", ], ], $anydata->getIterator()->toArray()); $anydataMem = new AnyDataset("php://memory"); $anydataMem->import($anydata->getIterator()); $this->assertEquals(2, count($anydataMem->getIterator()->toArray())); $this->assertEquals([ [ "field1" => "value1", "field2" => "value2", ], [ "field1" => "othervalue1", "field2" => "othervalue2", ], ], $anydata->getIterator()->toArray()); $anydataMem->save(); } public function testXML() { $this->object->appendRow(); $this->object->addField('field', 'value'); $xmlDom = \ByJG\Util\XmlUtil::createXmlDocumentFromStr( '' . '' . '' . 'value' . '' . '' ); $xmlDomValidate = \ByJG\Util\XmlUtil::createXmlDocumentFromStr($this->object->xml()); $this->assertEquals($xmlDom, $xmlDomValidate); } public function testXMFormatter() { $this->object->appendRow(); $this->object->addField('field', 'value'); $xmlDom = \ByJG\Util\XmlUtil::createXmlDocumentFromStr( '' . '' . '' . 'value' . '' . '' ); $formatter = new XmlFormatter($this->object->getIterator()); $this->assertEquals($xmlDom, $formatter->raw()); } public function testJsonFormatter() { $this->object->appendRow(); $this->object->addField('field', 'value'); $this->object->appendRow(); $this->object->addField('field', 'value2'); $jsonText = '[{"field":"value"},{"field":"value2"}]'; $formatter = new JsonFormatter($this->object->getIterator()); $this->assertEquals($jsonText, $formatter->toText()); } public function testSave() { $filename = sys_get_temp_dir() . '/testsave.xml'; // Guarantee that file does not exists if (file_exists($filename)) { unlink($filename); } $this->assertFalse(file_exists($filename)); $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample'); $anydata->save($filename); $proof = new AnyDataset($filename); $this->assertEquals(2, count($proof->getIterator()->toArray())); $proof->appendRow(); $proof->addField('field1', 'OK'); $proof->save(); $proof2 = new AnyDataset($filename); $this->assertEquals( $proof->getIterator()->toArray(), $proof2->getIterator()->toArray() ); unlink($filename); } public function testAppendRow() { $qtd = $this->object->getIterator()->count(); $this->assertEquals(0, $qtd); $this->object->appendRow(); $qtd = $this->object->getIterator()->count(); $this->assertEquals(1, $qtd); $this->object->appendRow(); $qtd = $this->object->getIterator()->count(); $this->assertEquals(2, $qtd); } public function testImport() { // Read sample $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample'); // Append a row $this->object->appendRow(['field1' => '123']); // Import $this->object->import($anydata->getIterator()); $this->assertEquals(3, count($this->object->getIterator()->toArray())); $this->assertEquals([ [ "field1" => "123" ], [ "field1" => "value1", "field2" => "value2", ], [ "field1" => "othervalue1", "field2" => "othervalue2", ], ], $this->object->getIterator()->toArray()); } public function testInsertRowBefore() { // Read sample $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample'); // Append a row $anydata->insertRowBefore(1, ['field1' => '123']); $this->assertEquals([ [ "field1" => "value1", "field2" => "value2", ], [ "field1" => "123" ], [ "field1" => "othervalue1", "field2" => "othervalue2", ], ], $anydata->getIterator()->toArray()); } public function testRemoveRow() { // Read sample $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample'); $anydata->removeRow(0); $this->assertEquals([ [ "field1" => "othervalue1", "field2" => "othervalue2", ], ], $anydata->getIterator()->toArray()); } public function testRemoveRow_1() { // Read sample $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample'); $anydata->removeRow(1); $this->assertEquals([ [ "field1" => "value1", "field2" => "value2", ], ], $anydata->getIterator()->toArray()); } public function testAddField() { $qtd = $this->object->getIterator()->count(); $this->assertEquals(0, $qtd); $this->object->appendRow(); $qtd = $this->object->getIterator()->count(); $this->assertEquals(1, $qtd); $this->object->addField('newfield', 'value'); $this->assertEquals([ [ "newfield" => "value", ], ], $this->object->getIterator()->toArray()); } public function testGetArray() { // Read sample $anydata = new AnyDataset(self::SAMPLE_DIR . 'sample'); $array = $anydata->getArray('field1'); $this->assertEquals([ 'value1', 'othervalue1' ], $array); } public function testSort() { $this->object->appendRow(['name' => 'joao', 'age' => 41]); $this->object->appendRow(['name' => 'fernanda', 'age' => 45]); $this->object->appendRow(['name' => 'jf', 'age' => 15]); $this->object->appendRow(['name' => 'jg jr', 'age' => 4]); $this->assertEquals([ ['name' => 'joao', 'age' => 41], ['name' => 'fernanda', 'age' => 45], ['name' => 'jf', 'age' => 15], ['name' => 'jg jr', 'age' => 4] ], $this->object->getIterator()->toArray()); $this->object->sort('age'); $this->assertEquals([ ['name' => 'jg jr', 'age' => 4], ['name' => 'jf', 'age' => 15], ['name' => 'joao', 'age' => 41], ['name' => 'fernanda', 'age' => 45], ], $this->object->getIterator()->toArray()); } public function testIteratorFilter() { $this->object->appendRow(['name' => 'joao', 'age' => 41]); $this->object->appendRow(['name' => 'fernanda', 'age' => 45]); $this->object->appendRow(['name' => 'jf', 'age' => 15]); $this->object->appendRow(['name' => 'jg jr', 'age' => 4]); $filter = IteratorFilter::getInstance() ->addRelation("age", Relation::LESS_THAN, 40); $this->assertEquals([ ['name' => 'jf', 'age' => 15], ['name' => 'jg jr', 'age' => 4] ], $this->object->getIterator($filter)->toArray()); $this->assertEquals([ ['name' => 'jf', 'age' => 15], ['name' => 'jg jr', 'age' => 4] ], $this->object->getIterator()->withFilter($filter)->toArray()); } public function testToArrayFields() { $anydataset = new AnyDataset(); $anydataset->appendRow([ "field1" => "value1", "field2" => "value2", "field3" => "value3", "field4" => "value4", ]); $anydataset->appendRow([ "field1" => "1", "field2" => "2", "field4" => "4", ]); $iterator = $anydataset->getIterator()->toArray(["field1", "field3"]); $this->assertEquals([ [ "field1" => "value1", "field3" => "value3" ], [ "field1" => "1", "field3" => "" ], ], $iterator); } } __halt_compiler();----SIGNATURE:----EIFIv3vCMwNeZRpQeR05zTpH2BlXlZ3xWxZ80RipNJpX0wCXMo2ksvQSNLPivzOZCCqgw/+Ehp7P8Wy8SyCacJ4DNlEa4ZiJgxjXmIbtsVtvonVNz3qkJLuNq2nNGXyhbKkGNWcwB/vZ/tnKeIRFgTQseydfRpvK9Qyf6QloRBaN/G+LWSeORFN4uWERfAXPrJYvbjirpbS8Cuyy6Fio08yjLQAW1x2WOjU8qWJEtrVQ9iZSfMAVmSjqR2E5D64oc2ZEQCyT8q4nBH17t+As0krxToW4Aeli0MlsP/dKJ1xSW688fMJesJ0RtoCKf7psAXuND8q+R9hTPtvr4dVBCj5tLI1wF/4VXYJomnjz3/wAnRdkuIif1/hUXfIQAWX5Lxx/tBrf9ea6rFaBZ21nDF6bt3F+ErzR1DIkGX7f2HP8vvJdYxLrDba9kvQ5WM+R/7Y9R70Km8Orloyt3kfm9+H7OzoB7r7Ybu/V3NsbONTLdiJx4SmKddUwiq87cSAxZ0CUOFltuF4kl9+ae0TCCzKn/GHHSKqpKg2vNAQ9GY5eO02iikEUwii/aGASPcQXQL8YJdvuJdOT5UfFsu1KofBsSY+YgkN3JyxL/QnG03OwjORmgs0kv9OEkBX65C4XeJYkeDzRY1Rs4J7mzat8PJIZoSuGhlxxnMzOGO7Xfz8=----ATTACHMENT:----NzA5MzEyMjMzMDg0NDEyOSA3NjAxOTY0NjMzNDEzODQ0IDMwNTgxMjkzODM3OTkyOTk=