summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php')
-rw-r--r--www/wiki/extensions/Maps/tests/Unit/Elements/RectangleTest.php73
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 ) );
+ }
+ }
+
+}
+
+
+