Code Duplication    Length = 12-14 lines in 6 locations

tests/MabeEnumTest/EnumSetTest.php 6 locations

@@ 406-419 (lines=14) @@
403
        $this->assertSame(0, $set->count());
404
    }
405
406
    public function testIsEqual()
407
    {
408
        $set1 = new EnumSet(EnumBasic::class);
409
        $set2 = new EnumSet(EnumBasic::class);
410
        $this->assertTrue($set1->isEqual($set2));
411
412
        foreach (EnumBasic::getEnumerators() as $enumerator) {
413
            $set1->attach($enumerator);
414
            $this->assertFalse($set1->isEqual($set2));
415
416
            $set2->attach($enumerator);
417
            $this->assertTrue($set1->isEqual($set2));
418
        }
419
    }
420
421
    public function testIsEqualWrongInstance()
422
    {
@@ 421-434 (lines=14) @@
418
        }
419
    }
420
421
    public function testIsEqualWrongInstance()
422
    {
423
        $set1 = new EnumSet(EnumBasic::class);
424
        $set2 = new EnumSet(EnumInheritance::class);
425
        $this->assertFalse($set1->isEqual($set2));
426
427
        foreach (EnumBasic::getEnumerators() as $enumerator) {
428
            $set1->attach($enumerator);
429
            $this->assertFalse($set1->isEqual($set2));
430
431
            $set2->attach($enumerator->getValue());
432
            $this->assertFalse($set1->isEqual($set2));
433
        }
434
    }
435
436
    /**
437
     * if $A->isEqual($B) is true then $A->isSubsetOf($B) is also true
@@ 439-450 (lines=12) @@
436
    /**
437
     * if $A->isEqual($B) is true then $A->isSubsetOf($B) is also true
438
     */
439
    public function testIsSubsetEqual()
440
    {
441
        $set1 = new EnumSet(Enum32::class);
442
        $set2 = new EnumSet(Enum32::class);
443
        $this->assertTrue($set1->isSubset($set2));
444
445
        foreach (Enum32::getEnumerators() as $enumerator) {
446
            $set1->attach($enumerator);
447
            $set2->attach($enumerator);
448
            $this->assertTrue($set1->isSubset($set2));
449
        }
450
    }
451
452
    public function testIsSubsetFull()
453
    {
@@ 474-487 (lines=14) @@
471
        }
472
    }
473
474
    public function testIsSubsetWrongInstance()
475
    {
476
        $set1 = new EnumSet(EnumBasic::class);
477
        $set2 = new EnumSet(EnumInheritance::class);
478
        $this->assertFalse($set1->isSubset($set2));
479
480
        foreach (EnumBasic::getEnumerators() as $enumerator) {
481
            $set1->attach($enumerator);
482
            $this->assertFalse($set1->isSubset($set2));
483
484
            $set2->attach($enumerator->getValue());
485
            $this->assertFalse($set1->isSubset($set2));
486
        }
487
    }
488
489
    /**
490
     * if $A->isEqual($B) is true then $A->isSuperset($B) is also true
@@ 492-505 (lines=14) @@
489
    /**
490
     * if $A->isEqual($B) is true then $A->isSuperset($B) is also true
491
     */
492
    public function testIsEqualIsSuperset()
493
    {
494
        $set1 = new EnumSet(Enum32::class);
495
        $set2 = new EnumSet(Enum32::class);
496
        $this->assertTrue($set1->isEqual($set2));
497
        $this->assertTrue($set1->isSuperset($set2));
498
499
        foreach (Enum32::getEnumerators() as $enumerator) {
500
            $set1->attach($enumerator);
501
            $set2->attach($enumerator);
502
            $this->assertTrue($set1->isEqual($set2));
503
            $this->assertTrue($set1->isSuperset($set2));
504
        }
505
    }
506
507
    public function testIsSupersetFull()
508
    {
@@ 529-542 (lines=14) @@
526
        }
527
    }
528
529
    public function testIsSupersetWrongInstance()
530
    {
531
        $set1 = new EnumSet(EnumBasic::class);
532
        $set2 = new EnumSet(EnumInheritance::class);
533
        $this->assertFalse($set1->isSuperset($set2));
534
535
        foreach (EnumBasic::getEnumerators() as $enumerator) {
536
            $set1->attach($enumerator);
537
            $this->assertFalse($set1->isSuperset($set2));
538
539
            $set2->attach($enumerator->getValue());
540
            $this->assertFalse($set1->isSuperset($set2));
541
        }
542
    }
543
544
    public function testGetOrdinals()
545
    {