public function testEncodeAndDecodeEnumComparingWithProtoc()
{
$proto = 'complex';
$complex = new Complex();
$value = Complex\Enum::FOO();
$class = 'ProtobufTest.Protos.Complex';
$complex->setEnum($value);
$encoded = $complex->toStream();
$expected = $this->executeProtoc("enum: FOO", $class, $proto);
$decoded = Complex::fromStream(Stream::wrap($expected));
$this->assertInstanceOf(Complex::CLASS, $decoded);
$this->assertEquals(bin2hex($expected), bin2hex($encoded));
$this->assertEquals(Complex\Enum::FOO(), $decoded->getEnum());
}