34 lines
		
	
	
		
			906 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			906 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php namespace MapGuesser\Tests\Util\Geo;
 | 
						|
 | 
						|
use MapGuesser\Util\Geo\Position;
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
 | 
						|
final class PositionTest extends TestCase
 | 
						|
{
 | 
						|
    public function testCanBeCreatedWithLatAndLng(): void
 | 
						|
    {
 | 
						|
        $position = new Position(45.25, 18.12);
 | 
						|
 | 
						|
        $this->assertEquals(45.25, $position->getLat());
 | 
						|
        $this->assertEquals(18.12, $position->getLng());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testCanCalculateDistanceToAnotherPosition(): void
 | 
						|
    {
 | 
						|
        $position1 = new Position(44.12, 7.33);
 | 
						|
        $position2 = new Position(50.12, 15.11);
 | 
						|
 | 
						|
        $this->assertEqualsWithDelta(888785.73, $position1->calculateDistanceTo($position2), 0.01);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testCanBeConvertedToArray(): void
 | 
						|
    {
 | 
						|
        $position = new Position(45.25, 18.12);
 | 
						|
 | 
						|
        $this->assertEquals(
 | 
						|
            ['lat' => 45.25, 'lng' => 18.12],
 | 
						|
            $position->toArray()
 | 
						|
        );
 | 
						|
    }
 | 
						|
}
 |