diff vendor/symfony/finder/Tests/Comparator/ComparatorTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 129ea1e6d783
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/symfony/finder/Tests/Comparator/ComparatorTest.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,65 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Finder\Tests\Comparator;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\Finder\Comparator\Comparator;
+
+class ComparatorTest extends TestCase
+{
+    public function testGetSetOperator()
+    {
+        $comparator = new Comparator();
+        try {
+            $comparator->setOperator('foo');
+            $this->fail('->setOperator() throws an \InvalidArgumentException if the operator is not valid.');
+        } catch (\Exception $e) {
+            $this->assertInstanceOf('InvalidArgumentException', $e, '->setOperator() throws an \InvalidArgumentException if the operator is not valid.');
+        }
+
+        $comparator = new Comparator();
+        $comparator->setOperator('>');
+        $this->assertEquals('>', $comparator->getOperator(), '->getOperator() returns the current operator');
+    }
+
+    public function testGetSetTarget()
+    {
+        $comparator = new Comparator();
+        $comparator->setTarget(8);
+        $this->assertEquals(8, $comparator->getTarget(), '->getTarget() returns the target');
+    }
+
+    /**
+     * @dataProvider getTestData
+     */
+    public function testTest($operator, $target, $match, $noMatch)
+    {
+        $c = new Comparator();
+        $c->setOperator($operator);
+        $c->setTarget($target);
+
+        foreach ($match as $m) {
+            $this->assertTrue($c->test($m), '->test() tests a string against the expression');
+        }
+
+        foreach ($noMatch as $m) {
+            $this->assertFalse($c->test($m), '->test() tests a string against the expression');
+        }
+    }
+
+    public function getTestData()
+    {
+        return array(
+            array('<', '1000', array('500', '999'), array('1000', '1500')),
+        );
+    }
+}