/** * Conveniently creates new set instance prefilled with provided argument(s). * * If a single array is given, then its elements are used to prefill the set. * Otherwise all arguments become elements of new set. * * @return set created set */ function _A() { $arguments = func_get_args(); if (count($arguments) == 1 && is_array($arguments[0])) { return set::wrap($arguments[0]); } return set::wrap($arguments); }
public function testPopping() { $set = set::wrap(array(1, true, 2.0, '3.0')); $this->assertEquals(4, $set->count); $this->assertEquals('3.0', $set->pop()); $this->assertEquals(3, $set->count); $this->assertEquals(2.0, $set->pop()); $this->assertEquals(2, $set->count); $this->assertEquals(true, $set->pop()); $this->assertEquals(1, $set->count); $this->assertEquals(1, $set->pop()); $this->assertEquals(0, $set->count); }