| Current File : /home/jvzmxxx/wiki1/extensions/Maps/tests/Integration/parsers/RectlangleParserTest.php |
<?php
namespace Maps\Test;
use DataValues\Geo\Values\LatLongValue;
use Maps\Elements\Rectangle;
use Maps\RectangleParser;
/**
* @covers Maps\RectangleParser
* @licence GNU GPL v2+
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
class RectangleParserTest extends \PHPUnit_Framework_TestCase {
public function setUp() {
if ( !defined( 'MEDIAWIKI' ) ) {
$this->markTestSkipped( 'MediaWiki is not available' );
}
}
public function testCanConstruct() {
new RectangleParser();
$this->assertTrue( true );
}
public function testGivenBoundingBox_parserReturnsRectangle() {
$parser = new RectangleParser();
$rectangle = $parser->parse( '51.8357775,33.83789:46,23.37890625' );
$this->assertInstanceOf( Rectangle::class, $rectangle );
$expectedNorthEast = new LatLongValue( 51.8357775, 33.83789 );
$this->assertTrue( $expectedNorthEast->equals( $rectangle->getRectangleNorthEast() ) );
$expectedSouthWest = new LatLongValue( 46, 23.37890625 );
$this->assertTrue( $expectedSouthWest->equals( $rectangle->getRectangleSouthWest() ) );
}
public function testGivenTitleAndText_rectangleHasProvidedMetaData() {
$parser = new RectangleParser();
$rectangle = $parser->parse( "51.8357775,33.83789:46,23.37890625~I'm a square~of doom" );
$this->assertInstanceOf( Rectangle::class, $rectangle );
$this->assertEquals( "I'm a square", $rectangle->getTitle() );
$this->assertEquals( 'of doom', $rectangle->getText() );
}
}