gluon-web-remote

Web remote Administration for big size of gluon routers
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-web-remote.git
Log | Files | Refs | README

ArrayComparatorTest.php (3752B)


      1 <?php
      2 /*
      3  * This file is part of the Comparator package.
      4  *
      5  * (c) Sebastian Bergmann <sebastian@phpunit.de>
      6  *
      7  * For the full copyright and license information, please view the LICENSE
      8  * file that was distributed with this source code.
      9  */
     10 
     11 namespace SebastianBergmann\Comparator;
     12 
     13 /**
     14  * @coversDefaultClass SebastianBergmann\Comparator\ArrayComparator
     15  *
     16  */
     17 class ArrayComparatorTest extends \PHPUnit_Framework_TestCase
     18 {
     19     private $comparator;
     20 
     21     protected function setUp()
     22     {
     23         $this->comparator = new ArrayComparator;
     24         $this->comparator->setFactory(new Factory);
     25     }
     26 
     27     public function acceptsFailsProvider()
     28     {
     29         return array(
     30           array(array(), null),
     31           array(null, array()),
     32           array(null, null)
     33         );
     34     }
     35 
     36     public function assertEqualsSucceedsProvider()
     37     {
     38         return array(
     39           array(
     40             array('a' => 1, 'b' => 2),
     41             array('b' => 2, 'a' => 1)
     42           ),
     43           array(
     44             array(1),
     45             array('1')
     46           ),
     47           array(
     48             array(3, 2, 1),
     49             array(2, 3, 1),
     50             0,
     51             true
     52           ),
     53           array(
     54             array(2.3),
     55             array(2.5),
     56             0.5
     57           ),
     58           array(
     59             array(array(2.3)),
     60             array(array(2.5)),
     61             0.5
     62           ),
     63           array(
     64             array(new Struct(2.3)),
     65             array(new Struct(2.5)),
     66             0.5
     67           ),
     68         );
     69     }
     70 
     71     public function assertEqualsFailsProvider()
     72     {
     73         return array(
     74           array(
     75             array(),
     76             array(0 => 1)
     77           ),
     78           array(
     79             array(0 => 1),
     80             array()
     81           ),
     82           array(
     83             array(0 => null),
     84             array()
     85           ),
     86           array(
     87             array(0 => 1, 1 => 2),
     88             array(0 => 1, 1 => 3)
     89           ),
     90           array(
     91             array('a', 'b' => array(1, 2)),
     92             array('a', 'b' => array(2, 1))
     93           ),
     94           array(
     95             array(2.3),
     96             array(4.2),
     97             0.5
     98           ),
     99           array(
    100             array(array(2.3)),
    101             array(array(4.2)),
    102             0.5
    103           ),
    104           array(
    105             array(new Struct(2.3)),
    106             array(new Struct(4.2)),
    107             0.5
    108           )
    109         );
    110     }
    111 
    112     /**
    113      * @covers  ::accepts
    114      */
    115     public function testAcceptsSucceeds()
    116     {
    117         $this->assertTrue(
    118           $this->comparator->accepts(array(), array())
    119         );
    120     }
    121 
    122     /**
    123      * @covers       ::accepts
    124      * @dataProvider acceptsFailsProvider
    125      */
    126     public function testAcceptsFails($expected, $actual)
    127     {
    128         $this->assertFalse(
    129           $this->comparator->accepts($expected, $actual)
    130         );
    131     }
    132 
    133     /**
    134      * @covers       ::assertEquals
    135      * @dataProvider assertEqualsSucceedsProvider
    136      */
    137     public function testAssertEqualsSucceeds($expected, $actual, $delta = 0.0, $canonicalize = false)
    138     {
    139         $exception = null;
    140 
    141         try {
    142             $this->comparator->assertEquals($expected, $actual, $delta, $canonicalize);
    143         }
    144 
    145         catch (ComparisonFailure $exception) {
    146         }
    147 
    148         $this->assertNull($exception, 'Unexpected ComparisonFailure');
    149     }
    150 
    151     /**
    152      * @covers       ::assertEquals
    153      * @dataProvider assertEqualsFailsProvider
    154      */
    155     public function testAssertEqualsFails($expected, $actual,$delta = 0.0, $canonicalize = false)
    156     {
    157         $this->setExpectedException(
    158           'SebastianBergmann\\Comparator\\ComparisonFailure',
    159           'Failed asserting that two arrays are equal'
    160         );
    161         $this->comparator->assertEquals($expected, $actual, $delta, $canonicalize);
    162     }
    163 }