| @@ 655-676 (lines=22) @@ | ||
| 652 | $set1->union($set2); |
|
| 653 | } |
|
| 654 | ||
| 655 | public function testIntersect() |
|
| 656 | { |
|
| 657 | $set1 = new EnumSet(EnumBasic::class); |
|
| 658 | $set1->attach(EnumBasic::ONE); |
|
| 659 | $set1->attach(EnumBasic::TWO); |
|
| 660 | $set1->attach(EnumBasic::THREE); |
|
| 661 | ||
| 662 | $set2 = new EnumSet(EnumBasic::class); |
|
| 663 | $set2->attach(EnumBasic::TWO); |
|
| 664 | $set2->attach(EnumBasic::THREE); |
|
| 665 | $set2->attach(EnumBasic::FOUR); |
|
| 666 | ||
| 667 | $set3 = new EnumSet(EnumBasic::class); |
|
| 668 | $set3->attach(EnumBasic::THREE); |
|
| 669 | $set3->attach(EnumBasic::FOUR); |
|
| 670 | $set3->attach(EnumBasic::FIVE); |
|
| 671 | ||
| 672 | $rs = $set1->intersect($set2, $set3); |
|
| 673 | $this->assertSame(array( |
|
| 674 | EnumBasic::THREE, |
|
| 675 | ), $rs->getValues()); |
|
| 676 | } |
|
| 677 | ||
| 678 | public function testIntersectThrowsInvalidArgumentException() |
|
| 679 | { |
|
| @@ 687-708 (lines=22) @@ | ||
| 684 | $set1->intersect($set2); |
|
| 685 | } |
|
| 686 | ||
| 687 | public function testDiff() |
|
| 688 | { |
|
| 689 | $set1 = new EnumSet(EnumBasic::class); |
|
| 690 | $set1->attach(EnumBasic::ONE); |
|
| 691 | $set1->attach(EnumBasic::TWO); |
|
| 692 | $set1->attach(EnumBasic::THREE); |
|
| 693 | ||
| 694 | $set2 = new EnumSet(EnumBasic::class); |
|
| 695 | $set2->attach(EnumBasic::TWO); |
|
| 696 | $set2->attach(EnumBasic::THREE); |
|
| 697 | $set2->attach(EnumBasic::FOUR); |
|
| 698 | ||
| 699 | $set3 = new EnumSet(EnumBasic::class); |
|
| 700 | $set3->attach(EnumBasic::THREE); |
|
| 701 | $set3->attach(EnumBasic::FOUR); |
|
| 702 | $set3->attach(EnumBasic::FIVE); |
|
| 703 | ||
| 704 | $rs = $set1->diff($set2, $set3); |
|
| 705 | $this->assertSame(array( |
|
| 706 | EnumBasic::ONE, |
|
| 707 | ), $rs->getValues()); |
|
| 708 | } |
|
| 709 | ||
| 710 | public function testDiffThrowsInvalidArgumentException() |
|
| 711 | { |
|