public function testOneofField() { $m = new TestMessage(); $m->setOneofInt32(1); $this->assertSame(1, $m->getOneofInt32()); $this->assertSame(0.0, $m->getOneofFloat()); $this->assertSame('', $m->getOneofString()); $this->assertSame(NULL, $m->getOneofMessage()); $m->setOneofFloat(2.0); $this->assertSame(0, $m->getOneofInt32()); $this->assertSame(2.0, $m->getOneofFloat()); $this->assertSame('', $m->getOneofString()); $this->assertSame(NULL, $m->getOneofMessage()); $m->setOneofString('abc'); $this->assertSame(0, $m->getOneofInt32()); $this->assertSame(0.0, $m->getOneofFloat()); $this->assertSame('abc', $m->getOneofString()); $this->assertSame(NULL, $m->getOneofMessage()); $sub_m = new TestMessage_Sub(); $sub_m->setA(1); $m->setOneofMessage($sub_m); $this->assertSame(0, $m->getOneofInt32()); $this->assertSame(0.0, $m->getOneofFloat()); $this->assertSame('', $m->getOneofString()); $this->assertSame(1, $m->getOneofMessage()->getA()); }
$n->decode($data); assert(1 === $n->getOneofInt32()); $m->setOneofFloat(2.0); assert(0 === $m->getOneofInt32()); assert(2.0 === $m->getOneofFloat()); assert('' === $m->getOneofString()); assert(NULL === $m->getOneofMessage()); $data = $m->encode(); $n = new TestMessage(); $n->decode($data); assert(2.0 === $n->getOneofFloat()); $m->setOneofString('abc'); assert(0 === $m->getOneofInt32()); assert(0.0 === $m->getOneofFloat()); assert('abc' === $m->getOneofString()); assert(NULL === $m->getOneofMessage()); $data = $m->encode(); $n = new TestMessage(); $n->decode($data); assert('abc' === $n->getOneofString()); $sub_m = new TestMessage_Sub(); $sub_m->setA(1); $m->setOneofMessage($sub_m); assert(0 === $m->getOneofInt32()); assert(0.0 === $m->getOneofFloat()); assert('' === $m->getOneofString()); assert(1 === $m->getOneofMessage()->getA()); $data = $m->encode(); $n = new TestMessage(); $n->decode($data); assert(1 === $n->getOneofMessage()->getA());
public function testMessage() { $arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class); // Test append. $sub_m = new TestMessage_Sub(); $sub_m->setA(1); $arr[] = $sub_m; $this->assertSame(1, $arr[0]->getA()); $null = null; $arr[] = $null; $this->assertNull($arr[1]); $this->assertEquals(2, count($arr)); for ($i = 0; $i < count($arr); $i++) { $arr[$i] = $null; $this->assertNull($arr[$i]); } // Test set. $arr[0] = $sub_m; $this->assertSame(1, $arr[0]->getA()); $arr[1] = $null; $this->assertNull($arr[1]); }
public function testMessage() { $arr = new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage_Sub::class); // Test append. $sub_m = new TestMessage_Sub(); $sub_m->setA(1); $arr[0] = $sub_m; $this->assertSame(1, $arr[0]->getA()); $null = NULL; $arr[1] = $null; $this->assertNull($arr[1]); $this->assertEquals(2, count($arr)); }