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

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

public testSymmetricDifference ( array $A, array $B, array $diff, Set $R )
$A array
$B array
$diff array
$R Set
    public function testSymmetricDifference(array $A, array $B, array $diff, Set $R)
    {
        $setA = new Set($A);
        $setB = new Set($B);
        $expected = new Set($diff);
        $difference = $setA->symmetricDifference($setB);
        $difference_array = $difference->asArray();
        $this->assertEquals($R, $difference);
        $this->assertEquals($expected, $difference);
        $this->assertEquals(count($diff), count($difference));
        foreach ($diff as $member) {
            $this->assertArrayHasKey("{$member}", $difference_array);
        }
        foreach ($diff as $_ => $value) {
            if ($value instanceof Set) {
                $this->assertEquals($value, $difference_array["{$value}"]);
            } else {
                $this->assertContains("{$value}", $difference_array);
            }
        }
    }