123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php
- require_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);
- }
- }
|