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

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

    public function testAddWithDuplicateObjects()
    {
        $set = new Set([1, 2, 3]);
        $vector = new Vector([1, 2, 3]);
        // Add the same object twice.
        $set->add($vector);
        $set->add($vector);
        $this->assertEquals(4, count($set));
        $this->assertEquals(4, count($set->asArray()));
        $objects = 0;
        foreach ($set as $key => $value) {
            if ($value instanceof \MathPHP\LinearAlgebra\Vector) {
                $objects++;
                $vector_key = get_class($value) . '(' . spl_object_hash($vector) . ')';
                $this->assertEquals($vector_key, $key);
                $this->assertEquals($vector, $value);
            }
        }
        // There should have only been one vector object.
        $this->assertEquals(1, $objects);
    }