| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?phpclass ArrTest extends PHPUnit_Framework_TestCase {	/**	 * @dataProvider getArray	 */	public function testGetMethodReturnsItemsFromArray($array)	{		$this->assertEquals(Arr::get($array, 'email'), $array['email']);		$this->assertEquals(Arr::get($array, 'names.uncle'), $array['names']['uncle']);	}	/**	 * @dataProvider getArray	 */	public function testGetMethodReturnsDefaultWhenItemDoesntExist($array)	{		$this->assertNull(Arr::get($array, 'names.aunt'));		$this->assertEquals(Arr::get($array, 'names.aunt', 'Tammy'), 'Tammy');		$this->assertEquals(Arr::get($array, 'names.aunt', function() {return 'Tammy';}), 'Tammy');	}	/**	 * @dataProvider getArray	 */	public function testSetMethodSetsItemsInArray($array)	{		Arr::set($array, 'name', 'Taylor');		Arr::set($array, 'names.aunt', 'Tammy');		Arr::set($array, 'names.friends.best', 'Abigail');		$this->assertEquals($array['name'], 'Taylor');		$this->assertEquals($array['names']['aunt'], 'Tammy');		$this->assertEquals($array['names']['friends']['best'], 'Abigail');	}	/**	 * @dataProvider getArray	 */	public function testFirstMethodReturnsFirstItemPassingTruthTest($array)	{		$array['email2'] = 'taylor@hotmail.com';		$this->assertEquals('taylorotwell@gmail.com', Arr::first($array, function($k, $v) {return substr($v, 0, 3) == 'tay';}));	}	/**	 * @dataProvider getArray	 */	public function testFirstMethodReturnsDefaultWhenNoItemExists($array)	{		$this->assertNull(Arr::first($array, function($k, $v) {return $v === 'something';}));		$this->assertEquals('default', Arr::first($array, function($k, $v) {return $v === 'something';}, 'default'));		$this->assertEquals('default', Arr::first($array, function($k, $v) {return $v === 'something';}, function() {return 'default';}));	}	public function getArray()	{		return array(array(			array(				'email' => 'taylorotwell@gmail.com',				'names' => array(					'uncle' => 'Mike',				),			)		));	}}
 |