Nelmio\Alice\FunctionsTest::testDeepCloneObjects PHP Method

testDeepCloneObjects() public method

    public function testDeepCloneObjects()
    {
        $foo = new \stdClass();
        $bar = new \stdClass();
        $foo->name = 'foo';
        $foo->bar = $bar;
        $foo->date = new \DateTime();
        $bar->name = 'bar';
        $bar->foo = $foo;
        $bar->date = new \DateTimeImmutable();
        $fooClone = deep_clone($foo);
        $this->assertEqualsButNotSame($foo, $fooClone);
        $this->assertEqualsButNotSame($bar, $fooClone->bar);
        $barClone = deep_clone($bar);
        $this->assertEqualsButNotSame($bar, $barClone);
        $this->assertEqualsButNotSame($foo, $barClone->foo);
    }