xref: /aosp_15_r20/external/protobuf/php/tests/test_base.php (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker<?php
2*1b3f573fSAndroid Build Coastguard Worker
3*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestMessage;
4*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestEnum;
5*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestMessage\Sub;
6*1b3f573fSAndroid Build Coastguard Worker
7*1b3f573fSAndroid Build Coastguard Workerclass TestBase extends \PHPUnit\Framework\TestCase
8*1b3f573fSAndroid Build Coastguard Worker{
9*1b3f573fSAndroid Build Coastguard Worker
10*1b3f573fSAndroid Build Coastguard Worker    public function setFields(TestMessage $m)
11*1b3f573fSAndroid Build Coastguard Worker    {
12*1b3f573fSAndroid Build Coastguard Worker        TestUtil::setTestMessage($m);
13*1b3f573fSAndroid Build Coastguard Worker    }
14*1b3f573fSAndroid Build Coastguard Worker
15*1b3f573fSAndroid Build Coastguard Worker    /**
16*1b3f573fSAndroid Build Coastguard Worker     * Polyfill for phpunit6.
17*1b3f573fSAndroid Build Coastguard Worker     */
18*1b3f573fSAndroid Build Coastguard Worker    static public function assertStringContains($needle, $haystack)
19*1b3f573fSAndroid Build Coastguard Worker    {
20*1b3f573fSAndroid Build Coastguard Worker        if (function_exists('PHPUnit\Framework\assertStringContainsString')) {
21*1b3f573fSAndroid Build Coastguard Worker            parent::assertStringContainsString($needle, $haystack);
22*1b3f573fSAndroid Build Coastguard Worker        } else {
23*1b3f573fSAndroid Build Coastguard Worker            parent::assertContains($needle, $haystack);
24*1b3f573fSAndroid Build Coastguard Worker        }
25*1b3f573fSAndroid Build Coastguard Worker    }
26*1b3f573fSAndroid Build Coastguard Worker
27*1b3f573fSAndroid Build Coastguard Worker    /**
28*1b3f573fSAndroid Build Coastguard Worker     * Polyfill for phpunit6.
29*1b3f573fSAndroid Build Coastguard Worker     */
30*1b3f573fSAndroid Build Coastguard Worker    static public function assertFloatEquals($expected, $actual, $delta)
31*1b3f573fSAndroid Build Coastguard Worker    {
32*1b3f573fSAndroid Build Coastguard Worker        if (function_exists('PHPUnit\Framework\assertEqualsWithDelta')) {
33*1b3f573fSAndroid Build Coastguard Worker            parent::assertEqualsWithDelta($expected, $actual, $delta);
34*1b3f573fSAndroid Build Coastguard Worker        } else {
35*1b3f573fSAndroid Build Coastguard Worker            parent::assertEquals($expected, $actual, '', $delta);
36*1b3f573fSAndroid Build Coastguard Worker        }
37*1b3f573fSAndroid Build Coastguard Worker    }
38*1b3f573fSAndroid Build Coastguard Worker
39*1b3f573fSAndroid Build Coastguard Worker    public function setFields2(TestMessage $m)
40*1b3f573fSAndroid Build Coastguard Worker    {
41*1b3f573fSAndroid Build Coastguard Worker        TestUtil::setTestMessage2($m);
42*1b3f573fSAndroid Build Coastguard Worker    }
43*1b3f573fSAndroid Build Coastguard Worker
44*1b3f573fSAndroid Build Coastguard Worker    public function expectFields(TestMessage $m)
45*1b3f573fSAndroid Build Coastguard Worker    {
46*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(-42,  $m->getOptionalInt32());
47*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(42,  $m->getOptionalUint32());
48*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(-44,  $m->getOptionalSint32());
49*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(46,   $m->getOptionalFixed32());
50*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(-46,  $m->getOptionalSfixed32());
51*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(1.5,  $m->getOptionalFloat());
52*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(1.6,  $m->getOptionalDouble());
53*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(true, $m->getOptionalBool());
54*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('a',  $m->getOptionalString());
55*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('bbbb',  $m->getOptionalBytes());
56*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(TestEnum::ONE, $m->getOptionalEnum());
57*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(33,   $m->getOptionalMessage()->getA());
58*1b3f573fSAndroid Build Coastguard Worker        if (PHP_INT_SIZE == 4) {
59*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('-43',  $m->getOptionalInt64());
60*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('43',   $m->getOptionalUint64());
61*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('-45',  $m->getOptionalSint64());
62*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('47',   $m->getOptionalFixed64());
63*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('-47',  $m->getOptionalSfixed64());
64*1b3f573fSAndroid Build Coastguard Worker        } else {
65*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(-43,  $m->getOptionalInt64());
66*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(43,   $m->getOptionalUint64());
67*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(-45,  $m->getOptionalSint64());
68*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(47,   $m->getOptionalFixed64());
69*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(-47,  $m->getOptionalSfixed64());
70*1b3f573fSAndroid Build Coastguard Worker        }
71*1b3f573fSAndroid Build Coastguard Worker
72*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-42,  $m->getRepeatedInt32()[0]);
73*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(42,   $m->getRepeatedUint32()[0]);
74*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-43,  $m->getRepeatedInt64()[0]);
75*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(43,   $m->getRepeatedUint64()[0]);
76*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-44,  $m->getRepeatedSint32()[0]);
77*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-45,  $m->getRepeatedSint64()[0]);
78*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(46,   $m->getRepeatedFixed32()[0]);
79*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(47,   $m->getRepeatedFixed64()[0]);
80*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-46,  $m->getRepeatedSfixed32()[0]);
81*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-47,  $m->getRepeatedSfixed64()[0]);
82*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(1.5,  $m->getRepeatedFloat()[0]);
83*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(1.6,  $m->getRepeatedDouble()[0]);
84*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(true, $m->getRepeatedBool()[0]);
85*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('a',  $m->getRepeatedString()[0]);
86*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('bbbb',  $m->getRepeatedBytes()[0]);
87*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(34,   $m->getRepeatedMessage()[0]->GetA());
88*1b3f573fSAndroid Build Coastguard Worker
89*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-52,   $m->getRepeatedInt32()[1]);
90*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(52,    $m->getRepeatedUint32()[1]);
91*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-53,   $m->getRepeatedInt64()[1]);
92*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(53,    $m->getRepeatedUint64()[1]);
93*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-54,   $m->getRepeatedSint32()[1]);
94*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-55,   $m->getRepeatedSint64()[1]);
95*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(56,    $m->getRepeatedFixed32()[1]);
96*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(57,    $m->getRepeatedFixed64()[1]);
97*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-56,   $m->getRepeatedSfixed32()[1]);
98*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-57,   $m->getRepeatedSfixed64()[1]);
99*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(2.5,   $m->getRepeatedFloat()[1]);
100*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(2.6,   $m->getRepeatedDouble()[1]);
101*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(false, $m->getRepeatedBool()[1]);
102*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('c',   $m->getRepeatedString()[1]);
103*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('dddd',   $m->getRepeatedBytes()[1]);
104*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(35,    $m->getRepeatedMessage()[1]->GetA());
105*1b3f573fSAndroid Build Coastguard Worker
106*1b3f573fSAndroid Build Coastguard Worker        if (PHP_INT_SIZE == 4) {
107*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-63', $m->getMapInt64Int64()['-63']);
108*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('63',  $m->getMapUint64Uint64()['63']);
109*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-65', $m->getMapSint64Sint64()['-65']);
110*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('67',  $m->getMapFixed64Fixed64()['67']);
111*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-69',  $m->getMapSfixed64Sfixed64()['-69']);
112*1b3f573fSAndroid Build Coastguard Worker        } else {
113*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-63, $m->getMapInt64Int64()[-63]);
114*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(63,  $m->getMapUint64Uint64()[63]);
115*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-65, $m->getMapSint64Sint64()[-65]);
116*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(67,  $m->getMapFixed64Fixed64()[67]);
117*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-69,  $m->getMapSfixed64Sfixed64()[-69]);
118*1b3f573fSAndroid Build Coastguard Worker        }
119*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-62, $m->getMapInt32Int32()[-62]);
120*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(62,  $m->getMapUint32Uint32()[62]);
121*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-64, $m->getMapSint32Sint32()[-64]);
122*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(66,  $m->getMapFixed32Fixed32()[66]);
123*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-68,  $m->getMapSfixed32Sfixed32()[-68]);
124*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(3.5, $m->getMapInt32Float()[1]);
125*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(3.6, $m->getMapInt32Double()[1]);
126*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(true , $m->getMapBoolBool()[true]);
127*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('e', $m->getMapStringString()['e']);
128*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('ffff', $m->getMapInt32Bytes()[1]);
129*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(TestEnum::ONE, $m->getMapInt32Enum()[1]);
130*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(36, $m->getMapInt32Message()[1]->GetA());
131*1b3f573fSAndroid Build Coastguard Worker    }
132*1b3f573fSAndroid Build Coastguard Worker
133*1b3f573fSAndroid Build Coastguard Worker    // Test message merged from setFields and setFields2.
134*1b3f573fSAndroid Build Coastguard Worker    public function expectFieldsMerged(TestMessage $m)
135*1b3f573fSAndroid Build Coastguard Worker    {
136*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(-144,  $m->getOptionalSint32());
137*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(146,   $m->getOptionalFixed32());
138*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(-146,  $m->getOptionalSfixed32());
139*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(11.5,  $m->getOptionalFloat());
140*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(11.6,  $m->getOptionalDouble());
141*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(true, $m->getOptionalBool());
142*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('aa',  $m->getOptionalString());
143*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('bb',  $m->getOptionalBytes());
144*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(133,   $m->getOptionalMessage()->getA());
145*1b3f573fSAndroid Build Coastguard Worker        if (PHP_INT_SIZE == 4) {
146*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('-143',  $m->getOptionalInt64());
147*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('143',   $m->getOptionalUint64());
148*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('-145',  $m->getOptionalSint64());
149*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('147',   $m->getOptionalFixed64());
150*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame('-147',  $m->getOptionalSfixed64());
151*1b3f573fSAndroid Build Coastguard Worker        } else {
152*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(-143,  $m->getOptionalInt64());
153*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(143,   $m->getOptionalUint64());
154*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(-145,  $m->getOptionalSint64());
155*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(147,   $m->getOptionalFixed64());
156*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(-147,  $m->getOptionalSfixed64());
157*1b3f573fSAndroid Build Coastguard Worker        }
158*1b3f573fSAndroid Build Coastguard Worker
159*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-42,  $m->getRepeatedInt32()[0]);
160*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(42,   $m->getRepeatedUint32()[0]);
161*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-43,  $m->getRepeatedInt64()[0]);
162*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(43,   $m->getRepeatedUint64()[0]);
163*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-44,  $m->getRepeatedSint32()[0]);
164*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-45,  $m->getRepeatedSint64()[0]);
165*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(46,   $m->getRepeatedFixed32()[0]);
166*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(47,   $m->getRepeatedFixed64()[0]);
167*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-46,  $m->getRepeatedSfixed32()[0]);
168*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-47,  $m->getRepeatedSfixed64()[0]);
169*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(1.5,  $m->getRepeatedFloat()[0]);
170*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(1.6,  $m->getRepeatedDouble()[0]);
171*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(true, $m->getRepeatedBool()[0]);
172*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('a',  $m->getRepeatedString()[0]);
173*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('bbbb',  $m->getRepeatedBytes()[0]);
174*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(TestEnum::ZERO,  $m->getRepeatedEnum()[0]);
175*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(34,   $m->getRepeatedMessage()[0]->GetA());
176*1b3f573fSAndroid Build Coastguard Worker
177*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-52,   $m->getRepeatedInt32()[1]);
178*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(52,    $m->getRepeatedUint32()[1]);
179*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-53,   $m->getRepeatedInt64()[1]);
180*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(53,    $m->getRepeatedUint64()[1]);
181*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-54,   $m->getRepeatedSint32()[1]);
182*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-55,   $m->getRepeatedSint64()[1]);
183*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(56,    $m->getRepeatedFixed32()[1]);
184*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(57,    $m->getRepeatedFixed64()[1]);
185*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-56,   $m->getRepeatedSfixed32()[1]);
186*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-57,   $m->getRepeatedSfixed64()[1]);
187*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(2.5,   $m->getRepeatedFloat()[1]);
188*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(2.6,   $m->getRepeatedDouble()[1]);
189*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(false, $m->getRepeatedBool()[1]);
190*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('c',   $m->getRepeatedString()[1]);
191*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('dddd',   $m->getRepeatedBytes()[1]);
192*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(TestEnum::ONE,  $m->getRepeatedEnum()[1]);
193*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(35,    $m->getRepeatedMessage()[1]->GetA());
194*1b3f573fSAndroid Build Coastguard Worker
195*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-142,  $m->getRepeatedInt32()[2]);
196*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(142,   $m->getRepeatedUint32()[2]);
197*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-143,  $m->getRepeatedInt64()[2]);
198*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(143,   $m->getRepeatedUint64()[2]);
199*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-144,  $m->getRepeatedSint32()[2]);
200*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-145,  $m->getRepeatedSint64()[2]);
201*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(146,   $m->getRepeatedFixed32()[2]);
202*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(147,   $m->getRepeatedFixed64()[2]);
203*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-146,  $m->getRepeatedSfixed32()[2]);
204*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-147,  $m->getRepeatedSfixed64()[2]);
205*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(11.5,  $m->getRepeatedFloat()[2]);
206*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(11.6,  $m->getRepeatedDouble()[2]);
207*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(false, $m->getRepeatedBool()[2]);
208*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('aa',  $m->getRepeatedString()[2]);
209*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('bb',  $m->getRepeatedBytes()[2]);
210*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(TestEnum::TWO,  $m->getRepeatedEnum()[2]);
211*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(134,   $m->getRepeatedMessage()[2]->GetA());
212*1b3f573fSAndroid Build Coastguard Worker
213*1b3f573fSAndroid Build Coastguard Worker        if (PHP_INT_SIZE == 4) {
214*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-163', $m->getMapInt64Int64()['-63']);
215*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('163',  $m->getMapUint64Uint64()['63']);
216*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-165', $m->getMapSint64Sint64()['-65']);
217*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('167',  $m->getMapFixed64Fixed64()['67']);
218*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-169',  $m->getMapSfixed64Sfixed64()['-69']);
219*1b3f573fSAndroid Build Coastguard Worker        } else {
220*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-163, $m->getMapInt64Int64()[-63]);
221*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(163,  $m->getMapUint64Uint64()[63]);
222*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-165, $m->getMapSint64Sint64()[-65]);
223*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(167,  $m->getMapFixed64Fixed64()[67]);
224*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-169,  $m->getMapSfixed64Sfixed64()[-69]);
225*1b3f573fSAndroid Build Coastguard Worker        }
226*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-162, $m->getMapInt32Int32()[-62]);
227*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(162,  $m->getMapUint32Uint32()[62]);
228*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-164, $m->getMapSint32Sint32()[-64]);
229*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(166,  $m->getMapFixed32Fixed32()[66]);
230*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-168,  $m->getMapSfixed32Sfixed32()[-68]);
231*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(13.5, $m->getMapInt32Float()[1]);
232*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(13.6, $m->getMapInt32Double()[1]);
233*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(false , $m->getMapBoolBool()[true]);
234*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('ee', $m->getMapStringString()['e']);
235*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('ff', $m->getMapInt32Bytes()[1]);
236*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(TestEnum::TWO, $m->getMapInt32Enum()[1]);
237*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(136, $m->getMapInt32Message()[1]->GetA());
238*1b3f573fSAndroid Build Coastguard Worker
239*1b3f573fSAndroid Build Coastguard Worker        if (PHP_INT_SIZE == 4) {
240*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-163', $m->getMapInt64Int64()['-163']);
241*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('163',  $m->getMapUint64Uint64()['163']);
242*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-165', $m->getMapSint64Sint64()['-165']);
243*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('167',  $m->getMapFixed64Fixed64()['167']);
244*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals('-169',  $m->getMapSfixed64Sfixed64()['-169']);
245*1b3f573fSAndroid Build Coastguard Worker        } else {
246*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-163, $m->getMapInt64Int64()[-163]);
247*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(163,  $m->getMapUint64Uint64()[163]);
248*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-165, $m->getMapSint64Sint64()[-165]);
249*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(167,  $m->getMapFixed64Fixed64()[167]);
250*1b3f573fSAndroid Build Coastguard Worker            $this->assertEquals(-169,  $m->getMapSfixed64Sfixed64()[-169]);
251*1b3f573fSAndroid Build Coastguard Worker        }
252*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-162, $m->getMapInt32Int32()[-162]);
253*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(162,  $m->getMapUint32Uint32()[162]);
254*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-164, $m->getMapSint32Sint32()[-164]);
255*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(166,  $m->getMapFixed32Fixed32()[166]);
256*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(-168,  $m->getMapSfixed32Sfixed32()[-168]);
257*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(13.5, $m->getMapInt32Float()[2]);
258*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(13.6, $m->getMapInt32Double()[2]);
259*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(false , $m->getMapBoolBool()[false]);
260*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('ee', $m->getMapStringString()['ee']);
261*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals('ff', $m->getMapInt32Bytes()[2]);
262*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(TestEnum::TWO, $m->getMapInt32Enum()[2]);
263*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(136, $m->getMapInt32Message()[2]->GetA());
264*1b3f573fSAndroid Build Coastguard Worker    }
265*1b3f573fSAndroid Build Coastguard Worker
266*1b3f573fSAndroid Build Coastguard Worker    public function expectEmptyFields(TestMessage $m)
267*1b3f573fSAndroid Build Coastguard Worker    {
268*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOptionalInt32());
269*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOptionalUint32());
270*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOptionalSint32());
271*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOptionalFixed32());
272*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOptionalSfixed32());
273*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0.0, $m->getOptionalFloat());
274*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0.0, $m->getOptionalDouble());
275*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(false, $m->getOptionalBool());
276*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('',  $m->getOptionalString());
277*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('',  $m->getOptionalBytes());
278*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0, $m->getOptionalEnum());
279*1b3f573fSAndroid Build Coastguard Worker        $this->assertNull($m->getOptionalMessage());
280*1b3f573fSAndroid Build Coastguard Worker        $this->assertNull($m->getOptionalIncludedMessage());
281*1b3f573fSAndroid Build Coastguard Worker        $this->assertNull($m->getRecursive());
282*1b3f573fSAndroid Build Coastguard Worker        if (PHP_INT_SIZE == 4) {
283*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOptionalInt64());
284*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOptionalUint64());
285*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOptionalSint64());
286*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOptionalFixed64());
287*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOptionalSfixed64());
288*1b3f573fSAndroid Build Coastguard Worker        } else {
289*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOptionalInt64());
290*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOptionalUint64());
291*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOptionalSint64());
292*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOptionalFixed64());
293*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOptionalSfixed64());
294*1b3f573fSAndroid Build Coastguard Worker        }
295*1b3f573fSAndroid Build Coastguard Worker
296*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedInt32()));
297*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedUint32()));
298*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedInt64()));
299*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedUint64()));
300*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedSint32()));
301*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedSint64()));
302*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedFixed32()));
303*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedFixed64()));
304*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedSfixed32()));
305*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedSfixed64()));
306*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedFloat()));
307*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedDouble()));
308*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedBool()));
309*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedString()));
310*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedBytes()));
311*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedEnum()));
312*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedMessage()));
313*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getRepeatedRecursive()));
314*1b3f573fSAndroid Build Coastguard Worker
315*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame("", $m->getMyOneof());
316*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOneofInt32());
317*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOneofUint32());
318*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOneofSint32());
319*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOneofFixed32());
320*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0,   $m->getOneofSfixed32());
321*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0.0, $m->getOneofFloat());
322*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0.0, $m->getOneofDouble());
323*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(false, $m->getOneofBool());
324*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('',  $m->getOneofString());
325*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame('',  $m->getOneofBytes());
326*1b3f573fSAndroid Build Coastguard Worker        $this->assertSame(0, $m->getOneofEnum());
327*1b3f573fSAndroid Build Coastguard Worker        $this->assertNull($m->getOptionalMessage());
328*1b3f573fSAndroid Build Coastguard Worker        if (PHP_INT_SIZE == 4) {
329*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOneofInt64());
330*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOneofUint64());
331*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOneofSint64());
332*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOneofFixed64());
333*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame("0", $m->getOneofSfixed64());
334*1b3f573fSAndroid Build Coastguard Worker        } else {
335*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOneofInt64());
336*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOneofUint64());
337*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOneofSint64());
338*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOneofFixed64());
339*1b3f573fSAndroid Build Coastguard Worker            $this->assertSame(0, $m->getOneofSfixed64());
340*1b3f573fSAndroid Build Coastguard Worker        }
341*1b3f573fSAndroid Build Coastguard Worker
342*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapInt64Int64()));
343*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapUint64Uint64()));
344*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapSint64Sint64()));
345*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapFixed64Fixed64()));
346*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapInt32Int32()));
347*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapUint32Uint32()));
348*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapSint32Sint32()));
349*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapFixed32Fixed32()));
350*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapSfixed32Sfixed32()));
351*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapSfixed64Sfixed64()));
352*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapInt32Float()));
353*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapInt32Double()));
354*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapBoolBool()));
355*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapStringString()));
356*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapInt32Bytes()));
357*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapInt32Enum()));
358*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapInt32Message()));
359*1b3f573fSAndroid Build Coastguard Worker        $this->assertEquals(0, count($m->getMapRecursive()));
360*1b3f573fSAndroid Build Coastguard Worker    }
361*1b3f573fSAndroid Build Coastguard Worker
362*1b3f573fSAndroid Build Coastguard Worker  // This test is to avoid the warning of no test by php unit.
363*1b3f573fSAndroid Build Coastguard Worker  public function testNone()
364*1b3f573fSAndroid Build Coastguard Worker  {
365*1b3f573fSAndroid Build Coastguard Worker      $this->assertTrue(true);
366*1b3f573fSAndroid Build Coastguard Worker  }
367*1b3f573fSAndroid Build Coastguard Worker}
368