/** * Test setting extensions. */ public function testSetExtensions() { $trackPoint = new TrackPoint(null, null, new DateTime()); $em1 = $this->getExtensionMock('e1'); $em2 = $this->getExtensionMock('e2'); $em3 = $this->getExtensionMock('e3'); $extensions = array($em1, $em2, $em3); $trackPoint->setExtensions($extensions); $this->assertEquals($extensions, array_values($trackPoint->getExtensions())); $this->assertCount(3, $trackPoint->getExtensions()); $this->assertSame($em1, $trackPoint->getExtension('e1')); $this->assertSame($em2, $trackPoint->getExtension('e2')); $this->assertSame($em3, $trackPoint->getExtension('e3')); }
/** * Flatten a track point to be posted on endomondo. * * @param TrackPoint $trackPoint The track point to flatten. * @param float $distance The total distance the point in meters. * @param float $speed The speed the point in km/h from the previous point. * @return string */ private function flattenTrackPoint(TrackPoint $trackPoint, $distance, $speed) { $dateTime = clone $trackPoint->getDateTime(); $dateTime->setTimezone(new \DateTimeZone('UTC')); return $this->formatEndomondoTrackPoint($dateTime, self::INSTRUCTION_START, $trackPoint->getLatitude(), $trackPoint->getLongitude(), $distance, $speed, $trackPoint->getElevation(), $trackPoint->hasExtension(HR::ID) ? $trackPoint->getExtension(HR::ID)->getValue() : ''); }