public function testDistanceMove() { $Loop = new Loop(new Object(array(Object::DISTANCE => array(0, 0.5, 1.0, 2.0, 3.0, 3.2, 3.5, 3.7, 4.0)))); $Loop->nextKilometer(); $this->assertEquals(1.0, $Loop->distance()); $Loop->nextKilometer(); $this->assertEquals(2.0, $Loop->distance()); $Loop->moveDistance(0.4); $this->assertEquals(3.0, $Loop->distance()); $Loop->moveDistance(0.4); $this->assertEquals(3.5, $Loop->distance()); $Loop->reset(); $Loop->moveToDistance(2.9); $this->assertEquals(3.0, $Loop->current(Object::DISTANCE)); $Loop->moveToDistance(3.7); $this->assertEquals(3.7, $Loop->current(Object::DISTANCE)); }