ProtobufTest\Extension\ExtensionFieldMapTest::testAddMergeExtensions PHP Method

testAddMergeExtensions() public method

    public function testAddMergeExtensions()
    {
        $animal1 = new Cat();
        $animal2 = new Cat();
        $callback = function () {
        };
        $extensions = new ExtensionFieldMap(Animal::CLASS);
        $extension = new ExtensionField(Animal::CLASS, 'animal', 100, $callback, $callback, $callback);
        $animal1->setDeclawed(true);
        $extensions->add($extension, $animal1);
        $this->assertSame($animal1, $extensions->offsetGet($extension));
        $animal2->setDeclawed(false);
        $extensions->add($extension, $animal2);
        $this->assertTrue($animal2->getDeclawed());
        $this->assertSame($animal2, $extensions->offsetGet($extension));
    }