Esempio n. 1
0
 public function testRemove()
 {
     $set1 = new Set();
     $set2 = new Set([100, 200]);
     $set1->add(200);
     $set1->add(300);
     $set2->retainAll($set1);
     $this->assertEquals($set1->toArray(), [200, 300]);
     $this->assertEquals($set2->toArray(), [200]);
     $this->assertFalse($set1->equals($set2));
     $this->assertFalse($set2->equals($set1));
     $set1->remove(300);
     $this->assertTrue($set1->equals($set2));
     $this->assertTrue($set2->equals($set1));
     $set1->removeAll($set2);
     $this->assertTrue($set1->isEmpty());
     $this->assertFalse($set2->isEmpty());
 }
Esempio n. 2
0
 /**
  * Creates the difference of A and B.
  *
  * @param Set $a
  * @param Set $b
  *
  * @return Set
  */
 public static function difference(Set $a, Set $b) : Set
 {
     return new self(array_diff($a->toArray(), $b->toArray()));
 }