You are here

class SplObjectStorageComparatorTest in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php \SebastianBergmann\Comparator\SplObjectStorageComparatorTest

@coversDefaultClass SebastianBergmann\Comparator\SplObjectStorageComparator

Hierarchy

Expanded class hierarchy of SplObjectStorageComparatorTest

File

vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php, line 20

Namespace

SebastianBergmann\Comparator
View source
class SplObjectStorageComparatorTest extends \PHPUnit_Framework_TestCase {
  private $comparator;
  protected function setUp() {
    $this->comparator = new SplObjectStorageComparator();
  }
  public function acceptsFailsProvider() {
    return array(
      array(
        new SplObjectStorage(),
        new stdClass(),
      ),
      array(
        new stdClass(),
        new SplObjectStorage(),
      ),
      array(
        new stdClass(),
        new stdClass(),
      ),
    );
  }
  public function assertEqualsSucceedsProvider() {
    $object1 = new stdClass();
    $object2 = new stdClass();
    $storage1 = new SplObjectStorage();
    $storage2 = new SplObjectStorage();
    $storage3 = new SplObjectStorage();
    $storage3
      ->attach($object1);
    $storage3
      ->attach($object2);
    $storage4 = new SplObjectStorage();
    $storage4
      ->attach($object2);
    $storage4
      ->attach($object1);
    return array(
      array(
        $storage1,
        $storage1,
      ),
      array(
        $storage1,
        $storage2,
      ),
      array(
        $storage3,
        $storage3,
      ),
      array(
        $storage3,
        $storage4,
      ),
    );
  }
  public function assertEqualsFailsProvider() {
    $object1 = new stdClass();
    $object2 = new stdClass();
    $storage1 = new SplObjectStorage();
    $storage2 = new SplObjectStorage();
    $storage2
      ->attach($object1);
    $storage3 = new SplObjectStorage();
    $storage3
      ->attach($object2);
    $storage3
      ->attach($object1);
    return array(
      array(
        $storage1,
        $storage2,
      ),
      array(
        $storage1,
        $storage3,
      ),
      array(
        $storage2,
        $storage3,
      ),
    );
  }

  /**
   * @covers  ::accepts
   */
  public function testAcceptsSucceeds() {
    $this
      ->assertTrue($this->comparator
      ->accepts(new SplObjectStorage(), new SplObjectStorage()));
  }

  /**
   * @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) {
    $exception = null;
    try {
      $this->comparator
        ->assertEquals($expected, $actual);
    } catch (ComparisonFailure $exception) {
    }
    $this
      ->assertNull($exception, 'Unexpected ComparisonFailure');
  }

  /**
   * @covers       ::assertEquals
   * @dataProvider assertEqualsFailsProvider
   */
  public function testAssertEqualsFails($expected, $actual) {
    $this
      ->setExpectedException('SebastianBergmann\\Comparator\\ComparisonFailure', 'Failed asserting that two objects are equal.');
    $this->comparator
      ->assertEquals($expected, $actual);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
SplObjectStorageComparatorTest::$comparator private property
SplObjectStorageComparatorTest::acceptsFailsProvider public function
SplObjectStorageComparatorTest::assertEqualsFailsProvider public function
SplObjectStorageComparatorTest::assertEqualsSucceedsProvider public function
SplObjectStorageComparatorTest::setUp protected function
SplObjectStorageComparatorTest::testAcceptsFails public function @covers ::accepts @dataProvider acceptsFailsProvider
SplObjectStorageComparatorTest::testAcceptsSucceeds public function @covers ::accepts
SplObjectStorageComparatorTest::testAssertEqualsFails public function @covers ::assertEquals @dataProvider assertEqualsFailsProvider
SplObjectStorageComparatorTest::testAssertEqualsSucceeds public function @covers ::assertEquals @dataProvider assertEqualsSucceedsProvider