diff options
Diffstat (limited to 'www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php')
-rw-r--r-- | www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php b/www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php new file mode 100644 index 00000000..daed71cb --- /dev/null +++ b/www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php @@ -0,0 +1,73 @@ +<?php + +namespace Maps\Tests\Unit\Elements; + +use DataValues\Geo\Values\LatLongValue; +use Maps\Elements\Rectangle; + +/** + * @covers \Maps\Elements\Rectangle + * + * @licence GNU GPL v2+ + * @author Jeroen De Dauw < jeroendedauw@gmail.com > + */ +class RectangleTest extends BaseElementTest { + + /** + * @see BaseElementTest::getClass + * + * @since 3.0 + * + * @return string + */ + public function getClass() { + return Rectangle::class; + } + + public function validConstructorProvider() { + $argLists = []; + + $argLists[] = [ new LatLongValue( 4, 2 ), new LatLongValue( -4, -2 ) ]; + $argLists[] = [ new LatLongValue( -42, -42 ), new LatLongValue( -4, -2 ) ]; + + return $argLists; + } + + public function invalidConstructorProvider() { + $argLists = []; + + $argLists[] = [ new LatLongValue( 4, 2 ), new LatLongValue( 4, 2 ) ]; + + return $argLists; + } + + /** + * @dataProvider instanceProvider + */ + public function testGetCorners( Rectangle $rectangle, array $arguments ) { + $this->assertTrue( $rectangle->getRectangleNorthEast()->equals( $arguments[0] ) ); + $this->assertTrue( $rectangle->getRectangleSouthWest()->equals( $arguments[1] ) ); + } + + /** + * @dataProvider instanceProvider + */ + public function testSetCorners( Rectangle $rectangle ) { + $coordinates = [ + new LatLongValue( 42, 42 ), + new LatLongValue( 0, 0 ) + ]; + + foreach ( $coordinates as $coordinate ) { + $rectangle->setRectangleNorthEast( $coordinate ); + $this->assertTrue( $rectangle->getRectangleNorthEast()->equals( $coordinate ) ); + + $rectangle->setRectangleSouthWest( $coordinate ); + $this->assertTrue( $rectangle->getRectangleSouthWest()->equals( $coordinate ) ); + } + } + +} + + + |