/** * Test that range() generates an array of numbers based on the start and stop values. */ public function testRange() { $this->assertEquals(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), Hash::range(0, 10)); $this->assertEquals(array(0 => 0, 2 => 2, 4 => 4, 6 => 6, 8 => 8, 10 => 10), Hash::range(0, 10, 2)); $this->assertEquals(array(0 => 0, 3 => 3, 6 => 6, 9 => 9), Hash::range(0, 10, 3)); $this->assertEquals(array(0 => 0, 13 => 13, 26 => 26, 39 => 39, 52 => 52, 65 => 65, 78 => 78, 91 => 91), Hash::range(0, 100, 13)); $this->assertEquals(array(23 => 23, 29 => 29, 35 => 35, 41 => 41, 47 => 47, 53 => 53, 59 => 59, 65 => 65), Hash::range(23, 66, 6)); $this->assertEquals(array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), Hash::range(0, 10, 1, false)); $this->assertEquals(array(0, 2, 4, 6, 8, 10), Hash::range(0, 10, 2, false)); $this->assertEquals(array(0, 3, 6, 9), Hash::range(0, 10, 3, false)); $this->assertEquals(array(0, 13, 26, 39, 52, 65, 78, 91), Hash::range(0, 100, 13, false)); $this->assertEquals(array(23, 29, 35, 41, 47, 53, 59, 65), Hash::range(23, 66, 6, false)); // reverse $this->assertEquals(array(5 => 5, 4 => 4, 3 => 3, 2 => 2, 1 => 1, 0 => 0), Hash::range(5, 0, 1)); $this->assertEquals(array(10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0), Hash::range(10, 0, 1, false)); $this->assertEquals(array(65, 59, 53, 47, 41, 35, 29, 23), Hash::range(65, 23, 6, false)); }