public function testData() { $collection = new DocumentSet(); $data = array('Lorem Ipsum', 'value', 'bar'); $collection->set($data); $this->assertEqual($data, $collection->data()); }
public function testSetMultiple() { $doc = new DocumentSet(array('model' => $this->_model)); $doc->set(array(array('id' => 1, 'name' => 'One', 'content' => 'Lorem ipsum one'), array('id' => 2, 'name' => 'Two', 'content' => 'Lorem ipsum two'), array('id' => 3, 'name' => 'Three', 'content' => 'Lorem ipsum three'))); $expected = array('id' => 1, 'name' => 'One', 'content' => 'Lorem ipsum one'); return; $result = $doc->current()->data(); $this->assertEqual($expected, $result); $expected = array('id' => 2, 'name' => 'Two', 'content' => 'Lorem ipsum two'); $result = $doc->next()->data(); $this->assertEqual($expected, $result); }
/** * Tests `Collection::sort`. */ public function testSort() { $collection = new DocumentSet(); $collection->set(array(array('id' => 1, 'name' => 'Annie'), array('id' => 2, 'name' => 'Zilean'), array('id' => 3, 'name' => 'Trynamere'), array('id' => 4, 'name' => 'Katarina'), array('id' => 5, 'name' => 'Nunu'))); $collection->sort('name'); $idsSorted = $collection->map(function ($v) { return $v['id']; })->to('array'); $this->assertEqual($idsSorted, array(1, 4, 5, 3, 2)); }
/** * Tests `Collection::reduce`. */ public function testReduce() { $collection = new DocumentSet(); $collection->set(array('title' => 'Lorem Ipsum', 'key' => 'value', 'foo' => 'bar')); $result = $collection->reduce(function ($memo, $value) { return trim($memo . ' ' . $value); }, ''); $expected = 'Lorem Ipsum value bar'; $this->assertEqual($expected, $result); }