| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | <?phprequire_once('test.pb.php');require_once('test_base.php');require_once('test_util.php');use Google\Protobuf\RepeatedField;use Google\Protobuf\GPBType;use Foo\TestEnum;use Foo\TestMessage;use Foo\TestMessage_Sub;use Foo\TestPackedMessage;use Foo\TestUnpackedMessage;class EncodeDecodeTest extends TestBase{    public function testEncode()    {        $from = new TestMessage();        $this->expectEmptyFields($from);        $this->setFields($from);        $this->expectFields($from);        $data = $from->encode();        $this->assertSame(TestUtil::getGoldenTestMessage(), $data);    }    public function testDecode()    {        $to = new TestMessage();        $to->decode(TestUtil::getGoldenTestMessage());        $this->expectFields($to);    }    public function testEncodeDecode()    {        $from = new TestMessage();        $this->expectEmptyFields($from);        $this->setFields($from);        $this->expectFields($from);        $data = $from->encode();        $to = new TestMessage();        $to->decode($data);        $this->expectFields($to);    }    public function testEncodeDecodeEmpty()    {        $from = new TestMessage();        $this->expectEmptyFields($from);        $data = $from->encode();        $to = new TestMessage();        $to->decode($data);        $this->expectEmptyFields($to);    }    public function testEncodeDecodeOneof()    {        $m = new TestMessage();        $m->setOneofInt32(1);        $data = $m->encode();        $n = new TestMessage();        $n->decode($data);        $this->assertSame(1, $n->getOneofInt32());        $m->setOneofFloat(2.0);        $data = $m->encode();        $n = new TestMessage();        $n->decode($data);        $this->assertSame(2.0, $n->getOneofFloat());        $m->setOneofString('abc');        $data = $m->encode();        $n = new TestMessage();        $n->decode($data);        $this->assertSame('abc', $n->getOneofString());        $sub_m = new TestMessage_Sub();        $sub_m->setA(1);        $m->setOneofMessage($sub_m);        $data = $m->encode();        $n = new TestMessage();        $n->decode($data);        $this->assertSame(1, $n->getOneofMessage()->getA());    }    public function testPackedEncode()    {        $from = new TestPackedMessage();        TestUtil::setTestPackedMessage($from);        $this->assertSame(TestUtil::getGoldenTestPackedMessage(),                          $from->encode());    }    public function testPackedDecodePacked()    {        $to = new TestPackedMessage();        $to->decode(TestUtil::getGoldenTestPackedMessage());        TestUtil::assertTestPackedMessage($to);    }    public function testPackedDecodeUnpacked()    {        $to = new TestPackedMessage();        $to->decode(TestUtil::getGoldenTestUnpackedMessage());        TestUtil::assertTestPackedMessage($to);    }    public function testUnpackedEncode()    {        $from = new TestUnpackedMessage();        TestUtil::setTestPackedMessage($from);        $this->assertSame(TestUtil::getGoldenTestUnpackedMessage(),                          $from->encode());    }    public function testUnpackedDecodePacked()    {        $to = new TestUnpackedMessage();        $to->decode(TestUtil::getGoldenTestPackedMessage());        TestUtil::assertTestPackedMessage($to);    }    public function testUnpackedDecodeUnpacked()    {        $to = new TestUnpackedMessage();        $to->decode(TestUtil::getGoldenTestUnpackedMessage());        TestUtil::assertTestPackedMessage($to);    }}
 |