public function testRightTrim() { $upperCase = _String::rtrim(); $data = ' AGA sg4 '; $this->assertInstanceOf(StringRightTrim::class, $upperCase); $this->assertInstanceOf(AbstractStringNode::class, $upperCase); $this->assertEquals(' AGA sg4', $upperCase($data)); }
public function testMapNode() { $before = _Array::map(_String::ucfirst()); $this->assertInstanceOf(ArrayMap::class, $before); $this->assertInstanceOf(CollectionNodeInterface::class, $before); $this->assertInstanceOf(AbstractArray::class, $before); $this->assertInstanceOf(AbstractNode::class, $before); $this->assertEquals($before(['a.b'])[0], 'A.b'); }
public function testAsClosure() { $data = '4,78,2,7,4,34,43,34'; $explode = _String::trim()->explode(',')->asClosure(); $this->assertInstanceOf(Closure::class, $explode); $this->assertNotInstanceOf(\Hurl\Node\Abstracts\AbstractNode::class, $explode); $array = $explode($data); $this->assertEquals($array, [4, 78, 2, 7, 4, 34, 43, 34]); return $array; }
/** * @param $start * @param null $length * @return AbstractStringNode */ public function substring($start, $length = null) { return $this->then(_String::substring($start, $length)); }
public function testChain() { $data = 'abc-acdc-acab'; $chain = _Array::explode('-')->map(_String::ucfirst()->substring(0, 2))->implode(''); $this->assertEquals('AbAcAc', $chain($data)); }
//int(10) $explode = _String::explode('.'); var_dump($explode('a.b')); $chain = $explode->implode('-'); var_dump($chain('a.b')); $map = $explode->map($fromHex)->implode('.'); var_dump($map('a.b')); $sort = _Array::sort(function ($a, $b) { return $a - $b; }); var_dump($sort([2, 5, 3, 4, 1])); //array(5) { // [0]=> // int(1) // [1]=> // int(2) // [2]=> // int(3) // [3]=> // int(4) // [4]=> // int(5) //} $string = 'a,3,e,22,a2,3e0,cf'; $explodeHexString = _Array::explode(',')->map(_String::trim()->then($fromHex))->sort(_Comparator::numeric()); print_r($explodeHexString($string)); $string = 'a,3,e,22,a2,3e0,cf'; $explodeHexString = _Array::explode(',')->sort(_Comparator::boolean()->map(_String::trim()->then($fromHex)->then(function ($e) { return $e % 5; })), _Comparator::numeric()->map(_String::trim()->then($fromHex))); print_r($explodeHexString($string));