/**
  * @test
  * @group nameid
  */
 public function name_id_formats_can_be_compared()
 {
     $transient = NameIdFormat::transient();
     $persistent = NameIdFormat::persistent();
     $this->assertTrue($transient->equals(NameIdFormat::transient()));
     $this->assertFalse($transient->equals($persistent));
     $this->assertTrue($persistent->equals(NameIdFormat::persistent()));
     $this->assertFalse($persistent->equals(new NameIdFormat(NameIdFormat::EMAIL_ADDRESS)));
 }
 /**
  * @test
  * @group nameid
  */
 public function lists_are_only_equal_when_containing_the_same_elements_in_the_same_order()
 {
     $formatOne = NameIdFormat::transient();
     $formatTwo = NameIdFormat::unspecified();
     $formatThree = NameIdFormat::persistent();
     $base = new NameIdFormatList(array($formatOne, $formatTwo));
     $theSame = new NameIdFormatList(array($formatOne, $formatTwo));
     $differentOrder = new NameIdFormatList(array($formatTwo, $formatOne));
     $lessElements = new NameIdFormatList(array($formatOne));
     $moreElements = new NameIdFormatList(array($formatOne, $formatTwo, $formatThree));
     $this->assertTrue($base->equals($theSame));
     $this->assertFalse($base->equals($differentOrder));
     $this->assertFalse($base->equals($lessElements));
     $this->assertFalse($base->equals($moreElements));
 }