public function testDefaultArray()
{
$array = new DefaultArray(0);
$this->assertEquals(0, $array['apples']);
$array['apples'] += 2;
$this->assertEquals(2, $array['apples']);
$array['bananas'] = 5;
$this->assertEquals(5, $array['bananas']);
$array['bananas'] += 5;
$this->assertEquals(10, $array['bananas']);
$array = new DefaultArray(function () {
return time();
});
$this->assertEquals(time(), $array['apples'], '', 0.1);
$array = defaultarray(0);
$this->assertEquals(0, $array['apples']);
$array['apples'] += 2;
$this->assertEquals(2, $array['apples']);
$array['bananas'] = 5;
$this->assertEquals(5, $array['bananas']);
$array['bananas'] += 5;
$this->assertEquals(10, $array['bananas']);
$array = defaultarray(function () {
return time();
});
$this->assertEquals(time(), $array['apples'], '', 0.1);
$array = new DefaultArray(10, array('apples' => 20, 'bananas' => 30));
$this->assertEquals(10, $array['oranges']);
$this->assertEquals(20, $array['apples']);
$this->assertEquals(30, $array['bananas']);
$array = defaultarray(10, array('apples' => 20, 'bananas' => 30));
$this->assertEquals(10, $array['oranges']);
$this->assertEquals(20, $array['apples']);
$this->assertEquals(30, $array['bananas']);
}