public function testUnionWithObjects()
{
$vector1 = new Vector([1, 2, 3]);
$vector2 = new Vector([1, 2, 3]);
$A = new Set([1, 2, $vector1]);
$B = new Set([2, 3, $vector2]);
$A∪B = $A->union($B);
$expected = new Set([1, 2, $vector1, 3, $vector2]);
$this->assertEquals($expected, $A∪B);
$this->assertEquals($expected->asArray(), $A∪B->asArray());
$A = new Set([1, 2, $vector1]);
$B = new Set([2, 3, $vector2, $vector1]);
$A∪B = $A->union($B);
$expected = new Set([1, 2, $vector1, 3, $vector2]);
$this->assertEquals($expected, $A∪B);
$this->assertEquals($expected->asArray(), $A∪B->asArray());
}