public function testActivityPace() { Intensity::setVDOTshape(50); $activity = new Activity\Object(array(Activity\Object::DISTANCE => 12, Activity\Object::TIME_IN_SECONDS => 3600)); // VDOT 50 => vVDOT ca. 3:50 // 5:00 => 77 %vVDOT => 82 %HRmax => 24 points/hour $this->assertEquals(24, $this->object->calculateByActivity($activity)); }
/** * Calculate JD intensity * @return int */ public function calculateJDintensity() { JD\Intensity::setVDOTshape(Configuration::Data()->vdot()); JD\Intensity::setHRmax(Configuration::Data()->HRmax()); $Intensity = new JD\Intensity(); if ($this->knowsTrackdata() && $this->Trackdata->has(Model\Trackdata\Object::HEARTRATE) && $this->Trackdata->has(Model\Trackdata\Object::TIME)) { return $Intensity->calculateByHeartrate(new TimeSeries($this->Trackdata->heartRate(), $this->Trackdata->time())); } elseif ($this->Activity->hrAvg() > 0) { return $Intensity->calculateByHeartrateAverage($this->Activity->hrAvg(), $this->Activity->duration()); } else { return $Intensity->calculateByPace($this->Activity->distance(), $this->Activity->duration()); } }