]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - vendor/wikimedia/purtle/tests/phpunit/BNodeLabelerTest.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / vendor / wikimedia / purtle / tests / phpunit / BNodeLabelerTest.php
diff --git a/vendor/wikimedia/purtle/tests/phpunit/BNodeLabelerTest.php b/vendor/wikimedia/purtle/tests/phpunit/BNodeLabelerTest.php
new file mode 100644 (file)
index 0000000..9194038
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+
+namespace Wikimedia\Purtle\Tests;
+
+use InvalidArgumentException;
+use PHPUnit_Framework_TestCase;
+use Wikimedia\Purtle\BNodeLabeler;
+
+/**
+ * @covers Wikimedia\Purtle\BNodeLabeler
+ *
+ * @group Purtle
+ *
+ * @license GPL-2.0+
+ * @author Daniel Kinzler
+ * @author Thiemo Mättig
+ */
+class BNodeLabelerTest extends PHPUnit_Framework_TestCase {
+
+       /**
+        * @dataProvider invalidConstructorArgumentsProvider
+        */
+       public function testInvalidConstructorArguments( $prefix, $start ) {
+               $this->setExpectedException( InvalidArgumentException::class );
+               new BNodeLabeler( $prefix, $start );
+       }
+
+       public function invalidConstructorArgumentsProvider() {
+               return [
+                       [ null, 1 ],
+                       [ 1, 1 ],
+                       [ 'prefix', null ],
+                       [ 'prefix', 0 ],
+                       [ 'prefix', '1' ],
+               ];
+       }
+
+       public function testGetLabel() {
+               $labeler = new BNodeLabeler( 'test', 2 );
+
+               $this->assertEquals( 'test2', $labeler->getLabel() );
+               $this->assertEquals( 'test3', $labeler->getLabel() );
+               $this->assertEquals( 'foo', $labeler->getLabel( 'foo' ) );
+               $this->assertEquals( 'test4', $labeler->getLabel() );
+       }
+
+}