MathPHP\SetTheory\SetOperationsTest::testIntersect PHP Метод

testIntersect() публичный Метод

public testIntersect ( array $A, array $B, array $A∩B, Set $R )
$A array
$B array
$A∩B array
$R Set
    public function testIntersect(array $A, array $B, array $A∩B, Set $R)
    {
        $setA = new Set($A);
        $setB = new Set($B);
        $expected = new Set($A∩B);
        $intersection = $setA->intersect($setB);
        $intersection_array = $intersection->asArray();
        $this->assertEquals($R, $intersection);
        $this->assertEquals($expected, $intersection);
        $this->assertEquals(count($A∩B), count($intersection));
        foreach ($A∩B as $member) {
            $this->assertArrayHasKey("{$member}", $intersection_array);
            $this->assertArrayHasKey("{$member}", $setA->asArray());
            $this->assertArrayHasKey("{$member}", $setB->asArray());
            $this->assertContains("{$member}", $A);
            $this->assertContains("{$member}", $B);
        }
        foreach ($A∩B as $_ => $value) {
            if ($value instanceof Set) {
                $this->assertEquals($value, $intersection_array["{$value}"]);
            } else {
                $this->assertContains("{$value}", $intersection_array);
            }
        }
    }