void testIntersect() {
   EnumSet<SeaBird> likes = mPetrels;
   likes &= mPetrelProcellariidae;
   MOZ_ASSERT(likes.size() == 2);
   MOZ_ASSERT(likes.contains(GADFLY_PETREL));
   MOZ_ASSERT(likes.contains(TRUE_PETREL));
 }
 void testRemove() {
   EnumSet<SeaBird> likes = mPetrels - TRUE_PETREL -
                            DIVING_PETREL;
   MOZ_ASSERT(likes.size() == 2);
   MOZ_ASSERT(likes.contains(GADFLY_PETREL));
   MOZ_ASSERT(likes.contains(STORM_PETREL));
 }
 void testRemoveAllFrom() {
   EnumSet<SeaBird> likes = mPetrels;
   likes -= mPetrelProcellariidae;
   MOZ_ASSERT(likes.size() == 2);
   MOZ_ASSERT(likes.contains(DIVING_PETREL));
   MOZ_ASSERT(likes.contains(STORM_PETREL));
 }
    void testCopy() {
      EnumSet<SeaBird> likes = mPetrels;
      likes -= TRUE_PETREL;
      MOZ_ASSERT(mPetrels.size() == 4);
      MOZ_ASSERT(mPetrels.contains(TRUE_PETREL));

      MOZ_ASSERT(likes.size() == 3);
      MOZ_ASSERT(likes.contains(GADFLY_PETREL));
      MOZ_ASSERT(likes.contains(DIVING_PETREL));
      MOZ_ASSERT(likes.contains(STORM_PETREL));
    }
 void testAdd() {
   EnumSet<SeaBird> seen = mPetrels + CORMORANT +
                                      STORM_PETREL;
   MOZ_ASSERT(mPetrels.size() == 4);
   MOZ_ASSERT(!mPetrels.contains(CORMORANT));
   MOZ_ASSERT(seen.size() == 5);
   MOZ_ASSERT(seen.contains(GADFLY_PETREL));
   MOZ_ASSERT(seen.contains(TRUE_PETREL));
   MOZ_ASSERT(seen.contains(DIVING_PETREL));
   MOZ_ASSERT(seen.contains(STORM_PETREL));
   MOZ_ASSERT(seen.contains(CORMORANT));
 }