diff options
Diffstat (limited to 'vendor/sebastian/comparator/tests/DoubleComparatorTest.php')
-rw-r--r-- | vendor/sebastian/comparator/tests/DoubleComparatorTest.php | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/vendor/sebastian/comparator/tests/DoubleComparatorTest.php b/vendor/sebastian/comparator/tests/DoubleComparatorTest.php new file mode 100644 index 0000000..6b898ba --- /dev/null +++ b/vendor/sebastian/comparator/tests/DoubleComparatorTest.php @@ -0,0 +1,134 @@ +<?php +/* + * This file is part of the Comparator package. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace SebastianBergmann\Comparator; + +/** + * @coversDefaultClass SebastianBergmann\Comparator\DoubleComparator + * + */ +class DoubleComparatorTest extends \PHPUnit_Framework_TestCase +{ + private $comparator; + + protected function setUp() + { + $this->comparator = new DoubleComparator; + } + + public function acceptsSucceedsProvider() + { + return array( + array(0, 5.0), + array(5.0, 0), + array('5', 4.5), + array(1.2e3, 7E-10), + array(3, acos(8)), + array(acos(8), 3), + array(acos(8), acos(8)) + ); + } + + public function acceptsFailsProvider() + { + return array( + array(5, 5), + array('4.5', 5), + array(0x539, 02471), + array(5.0, false), + array(null, 5.0) + ); + } + + public function assertEqualsSucceedsProvider() + { + return array( + array(2.3, 2.3), + array('2.3', 2.3), + array(5.0, 5), + array(5, 5.0), + array(5.0, '5'), + array(1.2e3, 1200), + array(2.3, 2.5, 0.5), + array(3, 3.05, 0.05), + array(1.2e3, 1201, 1), + array((string)(1/3), 1 - 2/3), + array(1/3, (string)(1 - 2/3)) + ); + } + + public function assertEqualsFailsProvider() + { + return array( + array(2.3, 4.2), + array('2.3', 4.2), + array(5.0, '4'), + array(5.0, 6), + array(1.2e3, 1201), + array(2.3, 2.5, 0.2), + array(3, 3.05, 0.04), + array(3, acos(8)), + array(acos(8), 3), + array(acos(8), acos(8)) + ); + } + + /** + * @covers ::accepts + * @dataProvider acceptsSucceedsProvider + */ + public function testAcceptsSucceeds($expected, $actual) + { + $this->assertTrue( + $this->comparator->accepts($expected, $actual) + ); + } + + /** + * @covers ::accepts + * @dataProvider acceptsFailsProvider + */ + public function testAcceptsFails($expected, $actual) + { + $this->assertFalse( + $this->comparator->accepts($expected, $actual) + ); + } + + /** + * @covers ::assertEquals + * @dataProvider assertEqualsSucceedsProvider + */ + public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0) + { + $exception = null; + + try { + $this->comparator->assertEquals($expected, $actual, $delta); + } + + catch (ComparisonFailure $exception) { + } + + $this->assertNull($exception, 'Unexpected ComparisonFailure'); + } + + /** + * @covers ::assertEquals + * @dataProvider assertEqualsFailsProvider + */ + public function testAssertEqualsFails($expected, $actual, $delta = 0.0) + { + $this->setExpectedException( + 'SebastianBergmann\\Comparator\\ComparisonFailure', 'matches expected' + ); + $this->comparator->assertEquals($expected, $actual, $delta); + } +} |