@@ -566,4 +566,96 @@ public function testIsSupersetWrongInstance()
566
566
$ this ->assertFalse ($ set1 ->isSuperset ($ set2 ));
567
567
}
568
568
}
569
+
570
+ public function testGetOrdinals ()
571
+ {
572
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
573
+ $ this ->assertSame (array (), $ set ->getOrdinals ());
574
+
575
+ foreach (EnumBasic::getConstants () as $ value ) {
576
+ $ set ->attach ($ value );
577
+ }
578
+
579
+ $ this ->assertSame (range (0 , count (EnumBasic::getConstants ()) - 1 ), $ set ->getOrdinals ());
580
+ }
581
+
582
+ public function testGetOrdinalsDoesNotEffectIteratorPosition ()
583
+ {
584
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
585
+ $ set ->attach (EnumBasic::ONE );
586
+ $ set ->attach (EnumBasic::TWO );
587
+ $ set ->next ();
588
+
589
+ $ set ->getOrdinals ();
590
+ $ this ->assertSame (EnumBasic::TWO , $ set ->current ()->getValue ());
591
+ }
592
+
593
+ public function testGetEnumerators ()
594
+ {
595
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
596
+ $ this ->assertSame (array (), $ set ->getEnumerators ());
597
+
598
+ foreach (EnumBasic::getConstants () as $ value ) {
599
+ $ set ->attach ($ value );
600
+ }
601
+
602
+ $ this ->assertSame (EnumBasic::getEnumerators (), $ set ->getEnumerators ());
603
+ }
604
+
605
+ public function testGetEnumeratorsDoesNotEffectIteratorPosition ()
606
+ {
607
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
608
+ $ set ->attach (EnumBasic::ONE );
609
+ $ set ->attach (EnumBasic::TWO );
610
+ $ set ->next ();
611
+
612
+ $ set ->getEnumerators ();
613
+ $ this ->assertSame (EnumBasic::TWO , $ set ->current ()->getValue ());
614
+ }
615
+
616
+ public function testGetValues ()
617
+ {
618
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
619
+ $ this ->assertSame (array (), $ set ->getValues ());
620
+
621
+ foreach (EnumBasic::getConstants () as $ value ) {
622
+ $ set ->attach ($ value );
623
+ }
624
+
625
+ $ this ->assertSame (array_values (EnumBasic::getConstants ()), $ set ->getValues ());
626
+ }
627
+
628
+ public function testGetValuesDoesNotEffectIteratorPosition ()
629
+ {
630
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
631
+ $ set ->attach (EnumBasic::ONE );
632
+ $ set ->attach (EnumBasic::TWO );
633
+ $ set ->next ();
634
+
635
+ $ set ->getValues ();
636
+ $ this ->assertSame (EnumBasic::TWO , $ set ->current ()->getValue ());
637
+ }
638
+
639
+ public function testGetNames ()
640
+ {
641
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
642
+ $ this ->assertSame (array (), $ set ->getNames ());
643
+
644
+ foreach (EnumBasic::getConstants () as $ value ) {
645
+ $ set ->attach ($ value );
646
+ }
647
+
648
+ $ this ->assertSame (array_keys (EnumBasic::getConstants ()), $ set ->getNames ());
649
+ }
650
+
651
+ public function testGetNamesDoesNotEffectIteratorPosition ()
652
+ {
653
+ $ set = new EnumSet ('MabeEnumTest\TestAsset\EnumBasic ' );
654
+ $ set ->attach (EnumBasic::ONE );
655
+ $ set ->attach (EnumBasic::TWO );
656
+ $ set ->next ();
657
+
658
+ $ set ->getNames ();
659
+ $ this ->assertSame (EnumBasic::TWO , $ set ->current ()->getValue ());
660
+ }
569
661
}
0 commit comments