ProtobufTest\ProtocSerializeMessageTest::testEncodeAndDecodeNestedMessageComparingWithProtoc PHP Method

testEncodeAndDecodeNestedMessageComparingWithProtoc() public method

    public function testEncodeAndDecodeNestedMessageComparingWithProtoc()
    {
        $proto = 'complex';
        $complex = new Complex();
        $nested = new Complex\Nested();
        $input = 'nested { foo: "FOO" }';
        $class = 'ProtobufTest.Protos.Complex';
        $nested->setFoo('FOO');
        $complex->setNested($nested);
        $encoded = $complex->toStream();
        $expected = $this->executeProtoc($input, $class, $proto);
        $decoded = Complex::fromStream(Stream::wrap($expected));
        $this->assertInstanceOf(Complex::CLASS, $decoded);
        $this->assertInstanceOf(Complex\Nested::CLASS, $complex->getNested());
        $this->assertEquals(bin2hex($encoded), bin2hex($expected));
        $this->assertEquals($complex->getNested()->getFoo(), 'FOO');
    }