NsplTest\DsTest::testSet PHP 메소드

testSet() 공개 메소드

public testSet ( )
    public function testSet()
    {
        $set = new Set(1, 2);
        $this->assertCount(2, $set);
        $this->assertTrue($set->contains(1));
        $this->assertTrue($set->contains(2));
        $set->add('hello');
        $this->assertCount(3, $set);
        $this->assertTrue($set->contains('hello'));
        $set[] = 'world';
        $this->assertCount(4, $set);
        $this->assertTrue($set->contains('world'));
        $set->update(['hello']);
        $this->assertCount(4, $set);
        $set->delete('hello');
        $this->assertCount(3, $set);
        $this->assertFalse($set->contains('hello'));
        $difference = $set->difference([1, 2, 3]);
        $this->assertEquals(['world'], $difference->toArray());
        $difference = $set->difference(Set::fromArray([1, 2, 3]));
        $this->assertEquals(['world'], $difference->toArray());
        $intersection = $set->intersection([1, 2, 3]);
        $this->assertEquals([1, 2], $intersection->toArray());
        $intersection = $set->intersection(Set::fromArray([1, 2, 3]));
        $this->assertEquals([1, 2], $intersection->toArray());
        $union = $set->union([1, 2, 3]);
        $this->assertEquals([1, 2, 3, 'world'], $union->toArray(), '', 0, 10, true);
        $union = $set->union(Set::fromArray([1, 2, 3]));
        $this->assertEquals([1, 2, 3, 'world'], $union->toArray(), '', 0, 10, true);
        $this->assertTrue($set->isSubset($union));
        $this->assertFalse($set->isSubset([1, 2, 3, 4]));
        $this->assertFalse($set->isSubset(Set::fromArray([1, 2, 3, 4])));
        $this->assertTrue($set->isSuperset([1, 2]));
        $this->assertFalse($set->isSuperset(['hello', 'world']));
        $this->assertTrue($set->isSuperset(Set::fromArray([1, 2])));
        $this->assertFalse($set->isSuperset(Set::fromArray(['hello', 'world'])));
        $this->assertFalse($set->isEmpty());
        $set->clear();
        $this->assertTrue($set->isEmpty());
        $set = set(1, 2);
        $this->assertCount(2, $set);
        $this->assertTrue($set->contains(1));
        $this->assertTrue($set->contains(2));
        $set[] = 2;
        $set[] = 3;
        $this->assertCount(3, $set);
        $this->assertTrue($set->contains(1));
        $this->assertTrue($set->contains(2));
        $this->assertTrue($set->contains(3));
        $set = set();
        $this->assertEquals($set->toArray(), array());
    }