1*1b3f573fSAndroid Build Coastguard Worker<?php 2*1b3f573fSAndroid Build Coastguard Worker 3*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestEnum; 4*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestMessage; 5*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestMessage\Sub; 6*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestPackedMessage; 7*1b3f573fSAndroid Build Coastguard Workeruse Foo\TestUnpackedMessage; 8*1b3f573fSAndroid Build Coastguard Worker 9*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_FLOAT_DIFF', 0.000001); 10*1b3f573fSAndroid Build Coastguard Worker 11*1b3f573fSAndroid Build Coastguard Workerif (PHP_INT_SIZE == 8) { 12*1b3f573fSAndroid Build Coastguard Worker define('MAX_INT_STRING', '9223372036854775807'); 13*1b3f573fSAndroid Build Coastguard Worker define('MAX_INT_UPPER_STRING', '9223372036854775808'); 14*1b3f573fSAndroid Build Coastguard Worker} else { 15*1b3f573fSAndroid Build Coastguard Worker define('MAX_INT_STRING', '2147483647'); 16*1b3f573fSAndroid Build Coastguard Worker define('MAX_INT_UPPER_STRING', '2147483648'); 17*1b3f573fSAndroid Build Coastguard Worker} 18*1b3f573fSAndroid Build Coastguard Worker 19*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_INT32', 2147483647); 20*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_INT32_FLOAT', 2147483647.0); 21*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_INT32_STRING', '2147483647'); 22*1b3f573fSAndroid Build Coastguard Worker 23*1b3f573fSAndroid Build Coastguard Workerdefine('MIN_INT32', (int)-2147483648); 24*1b3f573fSAndroid Build Coastguard Workerdefine('MIN_INT32_FLOAT', -2147483648.0); 25*1b3f573fSAndroid Build Coastguard Workerdefine('MIN_INT32_STRING', '-2147483648'); 26*1b3f573fSAndroid Build Coastguard Worker 27*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_UINT32', 4294967295); 28*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_UINT32_FLOAT', 4294967295.0); 29*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_UINT32_STRING', '4294967295'); 30*1b3f573fSAndroid Build Coastguard Worker 31*1b3f573fSAndroid Build Coastguard Workerdefine('MIN_UINT32', (int)-2147483648); 32*1b3f573fSAndroid Build Coastguard Workerdefine('MIN_UINT32_FLOAT', -2147483648.0); 33*1b3f573fSAndroid Build Coastguard Workerdefine('MIN_UINT32_STRING', '-2147483648'); 34*1b3f573fSAndroid Build Coastguard Worker 35*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_INT64_STRING', '9223372036854775807'); 36*1b3f573fSAndroid Build Coastguard Workerdefine('MIN_INT64_STRING', '-9223372036854775808'); 37*1b3f573fSAndroid Build Coastguard Workerdefine('MAX_UINT64_STRING', '-9223372036854775808'); 38*1b3f573fSAndroid Build Coastguard Worker 39*1b3f573fSAndroid Build Coastguard Workerif (PHP_INT_SIZE === 8) { 40*1b3f573fSAndroid Build Coastguard Worker define('MAX_INT64', (int)9223372036854775807); 41*1b3f573fSAndroid Build Coastguard Worker define('MIN_INT64', (int)-9223372036854775808); 42*1b3f573fSAndroid Build Coastguard Worker define('MAX_UINT64', (int)-9223372036854775808); 43*1b3f573fSAndroid Build Coastguard Worker} else { 44*1b3f573fSAndroid Build Coastguard Worker define('MAX_INT64', MAX_INT64_STRING); 45*1b3f573fSAndroid Build Coastguard Worker define('MIN_INT64', MIN_INT64_STRING); 46*1b3f573fSAndroid Build Coastguard Worker define('MAX_UINT64', MAX_UINT64_STRING); 47*1b3f573fSAndroid Build Coastguard Worker} 48*1b3f573fSAndroid Build Coastguard Worker 49*1b3f573fSAndroid Build Coastguard Workerclass TestUtil 50*1b3f573fSAndroid Build Coastguard Worker{ 51*1b3f573fSAndroid Build Coastguard Worker 52*1b3f573fSAndroid Build Coastguard Worker public static function setTestMessage(TestMessage $m) 53*1b3f573fSAndroid Build Coastguard Worker { 54*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalInt32(-42); 55*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalInt64(-43); 56*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalUint32(42); 57*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalUint64(43); 58*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSint32(-44); 59*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSint64(-45); 60*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalFixed32(46); 61*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalFixed64(47); 62*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSfixed32(-46); 63*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSfixed64(-47); 64*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalFloat(1.5); 65*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalDouble(1.6); 66*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalBool(true); 67*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalString('a'); 68*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalBytes('bbbb'); 69*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalEnum(TestEnum::ONE); 70*1b3f573fSAndroid Build Coastguard Worker $sub = new Sub(); 71*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalMessage($sub); 72*1b3f573fSAndroid Build Coastguard Worker $m->getOptionalMessage()->SetA(33); 73*1b3f573fSAndroid Build Coastguard Worker 74*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt32', -42); 75*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt64', -43); 76*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint32', 42); 77*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint64', 43); 78*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint32', -44); 79*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint64', -45); 80*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed32', 46); 81*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed64', 47); 82*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed32', -46); 83*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed64', -47); 84*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFloat', 1.5); 85*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedDouble', 1.6); 86*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBool', true); 87*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedString', 'a'); 88*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBytes', 'bbbb'); 89*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedEnum', TestEnum::ZERO); 90*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedMessage', new Sub()); 91*1b3f573fSAndroid Build Coastguard Worker $m->getRepeatedMessage()[0]->setA(34); 92*1b3f573fSAndroid Build Coastguard Worker 93*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt32', -52); 94*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt64', -53); 95*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint32', 52); 96*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint64', 53); 97*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint32', -54); 98*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint64', -55); 99*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed32', 56); 100*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed64', 57); 101*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed32', -56); 102*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed64', -57); 103*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFloat', 2.5); 104*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedDouble', 2.6); 105*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBool', false); 106*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedString', 'c'); 107*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBytes', 'dddd'); 108*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedEnum', TestEnum::ONE); 109*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedMessage', new Sub()); 110*1b3f573fSAndroid Build Coastguard Worker $m->getRepeatedMessage()[1]->SetA(35); 111*1b3f573fSAndroid Build Coastguard Worker 112*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Int32', -62, -62); 113*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt64Int64', -63, -63); 114*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapUint32Uint32', 62, 62); 115*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapUint64Uint64', 63, 63); 116*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSint32Sint32', -64, -64); 117*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSint64Sint64', -65, -65); 118*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapFixed32Fixed32', 66, 66); 119*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapFixed64Fixed64', 67, 67); 120*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSfixed32Sfixed32', -68, -68); 121*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSfixed64Sfixed64', -69, -69); 122*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Float', 1, 3.5); 123*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Double', 1, 3.6); 124*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapBoolBool', true, true); 125*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapStringString', 'e', 'e'); 126*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Bytes', 1, 'ffff'); 127*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Enum', 1, TestEnum::ONE); 128*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Message', 1, new Sub()); 129*1b3f573fSAndroid Build Coastguard Worker $m->getMapInt32Message()[1]->SetA(36); 130*1b3f573fSAndroid Build Coastguard Worker } 131*1b3f573fSAndroid Build Coastguard Worker 132*1b3f573fSAndroid Build Coastguard Worker public static function setTestMessage2(TestMessage $m) 133*1b3f573fSAndroid Build Coastguard Worker { 134*1b3f573fSAndroid Build Coastguard Worker $sub = new Sub(); 135*1b3f573fSAndroid Build Coastguard Worker 136*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalInt32(-142); 137*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalInt64(-143); 138*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalUint32(142); 139*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalUint64(143); 140*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSint32(-144); 141*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSint64(-145); 142*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalFixed32(146); 143*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalFixed64(147); 144*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSfixed32(-146); 145*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalSfixed64(-147); 146*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalFloat(11.5); 147*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalDouble(11.6); 148*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalBool(true); 149*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalString('aa'); 150*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalBytes('bb'); 151*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalEnum(TestEnum::TWO); 152*1b3f573fSAndroid Build Coastguard Worker $m->setOptionalMessage($sub); 153*1b3f573fSAndroid Build Coastguard Worker $m->getOptionalMessage()->SetA(133); 154*1b3f573fSAndroid Build Coastguard Worker 155*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt32', -142); 156*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt64', -143); 157*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint32', 142); 158*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint64', 143); 159*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint32', -144); 160*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint64', -145); 161*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed32', 146); 162*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed64', 147); 163*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed32', -146); 164*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed64', -147); 165*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFloat', 11.5); 166*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedDouble', 11.6); 167*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBool', false); 168*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedString', 'aa'); 169*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBytes', 'bb'); 170*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedEnum', TestEnum::TWO); 171*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedMessage', new Sub()); 172*1b3f573fSAndroid Build Coastguard Worker $m->getRepeatedMessage()[0]->setA(134); 173*1b3f573fSAndroid Build Coastguard Worker 174*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Int32', -62, -162); 175*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt64Int64', -63, -163); 176*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapUint32Uint32', 62, 162); 177*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapUint64Uint64', 63, 163); 178*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSint32Sint32', -64, -164); 179*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSint64Sint64', -65, -165); 180*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapFixed32Fixed32', 66, 166); 181*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapFixed64Fixed64', 67, 167); 182*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSfixed32Sfixed32', -68, -168); 183*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSfixed64Sfixed64', -69, -169); 184*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Float', 1, 13.5); 185*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Double', 1, 13.6); 186*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapBoolBool', true, false); 187*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapStringString', 'e', 'ee'); 188*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Bytes', 1, 'ff'); 189*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Enum', 1, TestEnum::TWO); 190*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Message', 1, new Sub()); 191*1b3f573fSAndroid Build Coastguard Worker $m->getMapInt32Message()[1]->SetA(136); 192*1b3f573fSAndroid Build Coastguard Worker 193*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Int32', -162, -162); 194*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt64Int64', -163, -163); 195*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapUint32Uint32', 162, 162); 196*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapUint64Uint64', 163, 163); 197*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSint32Sint32', -164, -164); 198*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSint64Sint64', -165, -165); 199*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapFixed32Fixed32', 166, 166); 200*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapFixed64Fixed64', 167, 167); 201*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSfixed32Sfixed32', -168, -168); 202*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapSfixed64Sfixed64', -169, -169); 203*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Float', 2, 13.5); 204*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Double', 2, 13.6); 205*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapBoolBool', false, false); 206*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapStringString', 'ee', 'ee'); 207*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Bytes', 2, 'ff'); 208*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Enum', 2, TestEnum::TWO); 209*1b3f573fSAndroid Build Coastguard Worker self::kvUpdateHelper($m, 'MapInt32Message', 2, new Sub()); 210*1b3f573fSAndroid Build Coastguard Worker $m->getMapInt32Message()[2]->SetA(136); 211*1b3f573fSAndroid Build Coastguard Worker } 212*1b3f573fSAndroid Build Coastguard Worker 213*1b3f573fSAndroid Build Coastguard Worker public static function assertTestMessage(TestMessage $m) 214*1b3f573fSAndroid Build Coastguard Worker { 215*1b3f573fSAndroid Build Coastguard Worker if (PHP_INT_SIZE == 4) { 216*1b3f573fSAndroid Build Coastguard Worker assert('-43' === $m->getOptionalInt64()); 217*1b3f573fSAndroid Build Coastguard Worker assert('43' === $m->getOptionalUint64()); 218*1b3f573fSAndroid Build Coastguard Worker assert('-45' === $m->getOptionalSint64()); 219*1b3f573fSAndroid Build Coastguard Worker assert('47' === $m->getOptionalFixed64()); 220*1b3f573fSAndroid Build Coastguard Worker assert('-47' === $m->getOptionalSfixed64()); 221*1b3f573fSAndroid Build Coastguard Worker } else { 222*1b3f573fSAndroid Build Coastguard Worker assert(-43 === $m->getOptionalInt64()); 223*1b3f573fSAndroid Build Coastguard Worker assert(43 === $m->getOptionalUint64()); 224*1b3f573fSAndroid Build Coastguard Worker assert(-45 === $m->getOptionalSint64()); 225*1b3f573fSAndroid Build Coastguard Worker assert(47 === $m->getOptionalFixed64()); 226*1b3f573fSAndroid Build Coastguard Worker assert(-47 === $m->getOptionalSfixed64()); 227*1b3f573fSAndroid Build Coastguard Worker } 228*1b3f573fSAndroid Build Coastguard Worker assert(-42 === $m->getOptionalInt32()); 229*1b3f573fSAndroid Build Coastguard Worker assert(42 === $m->getOptionalUint32()); 230*1b3f573fSAndroid Build Coastguard Worker assert(-44 === $m->getOptionalSint32()); 231*1b3f573fSAndroid Build Coastguard Worker assert(46 === $m->getOptionalFixed32()); 232*1b3f573fSAndroid Build Coastguard Worker assert(-46 === $m->getOptionalSfixed32()); 233*1b3f573fSAndroid Build Coastguard Worker assert(1.5 === $m->getOptionalFloat()); 234*1b3f573fSAndroid Build Coastguard Worker assert(1.6 === $m->getOptionalDouble()); 235*1b3f573fSAndroid Build Coastguard Worker assert(true=== $m->getOptionalBool()); 236*1b3f573fSAndroid Build Coastguard Worker assert('a' === $m->getOptionalString()); 237*1b3f573fSAndroid Build Coastguard Worker assert('bbbb' === $m->getOptionalBytes()); 238*1b3f573fSAndroid Build Coastguard Worker assert(TestEnum::ONE === $m->getOptionalEnum()); 239*1b3f573fSAndroid Build Coastguard Worker assert(33 === $m->getOptionalMessage()->getA()); 240*1b3f573fSAndroid Build Coastguard Worker 241*1b3f573fSAndroid Build Coastguard Worker if (PHP_INT_SIZE == 4) { 242*1b3f573fSAndroid Build Coastguard Worker assert('-43' === $m->getRepeatedInt64()[0]); 243*1b3f573fSAndroid Build Coastguard Worker assert('43' === $m->getRepeatedUint64()[0]); 244*1b3f573fSAndroid Build Coastguard Worker assert('-45' === $m->getRepeatedSint64()[0]); 245*1b3f573fSAndroid Build Coastguard Worker assert('47' === $m->getRepeatedFixed64()[0]); 246*1b3f573fSAndroid Build Coastguard Worker assert('-47' === $m->getRepeatedSfixed64()[0]); 247*1b3f573fSAndroid Build Coastguard Worker } else { 248*1b3f573fSAndroid Build Coastguard Worker assert(-43 === $m->getRepeatedInt64()[0]); 249*1b3f573fSAndroid Build Coastguard Worker assert(43 === $m->getRepeatedUint64()[0]); 250*1b3f573fSAndroid Build Coastguard Worker assert(-45 === $m->getRepeatedSint64()[0]); 251*1b3f573fSAndroid Build Coastguard Worker assert(47 === $m->getRepeatedFixed64()[0]); 252*1b3f573fSAndroid Build Coastguard Worker assert(-47 === $m->getRepeatedSfixed64()[0]); 253*1b3f573fSAndroid Build Coastguard Worker } 254*1b3f573fSAndroid Build Coastguard Worker assert(-42 === $m->getRepeatedInt32()[0]); 255*1b3f573fSAndroid Build Coastguard Worker assert(42 === $m->getRepeatedUint32()[0]); 256*1b3f573fSAndroid Build Coastguard Worker assert(-44 === $m->getRepeatedSint32()[0]); 257*1b3f573fSAndroid Build Coastguard Worker assert(46 === $m->getRepeatedFixed32()[0]); 258*1b3f573fSAndroid Build Coastguard Worker assert(-46 === $m->getRepeatedSfixed32()[0]); 259*1b3f573fSAndroid Build Coastguard Worker assert(1.5 === $m->getRepeatedFloat()[0]); 260*1b3f573fSAndroid Build Coastguard Worker assert(1.6 === $m->getRepeatedDouble()[0]); 261*1b3f573fSAndroid Build Coastguard Worker assert(true=== $m->getRepeatedBool()[0]); 262*1b3f573fSAndroid Build Coastguard Worker assert('a' === $m->getRepeatedString()[0]); 263*1b3f573fSAndroid Build Coastguard Worker assert('bbbb' === $m->getRepeatedBytes()[0]); 264*1b3f573fSAndroid Build Coastguard Worker assert(TestEnum::ZERO === $m->getRepeatedEnum()[0]); 265*1b3f573fSAndroid Build Coastguard Worker assert(34 === $m->getRepeatedMessage()[0]->getA()); 266*1b3f573fSAndroid Build Coastguard Worker 267*1b3f573fSAndroid Build Coastguard Worker if (PHP_INT_SIZE == 4) { 268*1b3f573fSAndroid Build Coastguard Worker assert('-53' === $m->getRepeatedInt64()[1]); 269*1b3f573fSAndroid Build Coastguard Worker assert('53' === $m->getRepeatedUint64()[1]); 270*1b3f573fSAndroid Build Coastguard Worker assert('-55' === $m->getRepeatedSint64()[1]); 271*1b3f573fSAndroid Build Coastguard Worker assert('57' === $m->getRepeatedFixed64()[1]); 272*1b3f573fSAndroid Build Coastguard Worker assert('-57' === $m->getRepeatedSfixed64()[1]); 273*1b3f573fSAndroid Build Coastguard Worker } else { 274*1b3f573fSAndroid Build Coastguard Worker assert(-53 === $m->getRepeatedInt64()[1]); 275*1b3f573fSAndroid Build Coastguard Worker assert(53 === $m->getRepeatedUint64()[1]); 276*1b3f573fSAndroid Build Coastguard Worker assert(-55 === $m->getRepeatedSint64()[1]); 277*1b3f573fSAndroid Build Coastguard Worker assert(57 === $m->getRepeatedFixed64()[1]); 278*1b3f573fSAndroid Build Coastguard Worker assert(-57 === $m->getRepeatedSfixed64()[1]); 279*1b3f573fSAndroid Build Coastguard Worker } 280*1b3f573fSAndroid Build Coastguard Worker assert(-52 === $m->getRepeatedInt32()[1]); 281*1b3f573fSAndroid Build Coastguard Worker assert(52 === $m->getRepeatedUint32()[1]); 282*1b3f573fSAndroid Build Coastguard Worker assert(-54 === $m->getRepeatedSint32()[1]); 283*1b3f573fSAndroid Build Coastguard Worker assert(56 === $m->getRepeatedFixed32()[1]); 284*1b3f573fSAndroid Build Coastguard Worker assert(-56 === $m->getRepeatedSfixed32()[1]); 285*1b3f573fSAndroid Build Coastguard Worker assert(2.5 === $m->getRepeatedFloat()[1]); 286*1b3f573fSAndroid Build Coastguard Worker assert(2.6 === $m->getRepeatedDouble()[1]); 287*1b3f573fSAndroid Build Coastguard Worker assert(false === $m->getRepeatedBool()[1]); 288*1b3f573fSAndroid Build Coastguard Worker assert('c' === $m->getRepeatedString()[1]); 289*1b3f573fSAndroid Build Coastguard Worker assert('dddd' === $m->getRepeatedBytes()[1]); 290*1b3f573fSAndroid Build Coastguard Worker assert(TestEnum::ONE === $m->getRepeatedEnum()[1]); 291*1b3f573fSAndroid Build Coastguard Worker assert(35 === $m->getRepeatedMessage()[1]->getA()); 292*1b3f573fSAndroid Build Coastguard Worker 293*1b3f573fSAndroid Build Coastguard Worker if (PHP_INT_SIZE == 4) { 294*1b3f573fSAndroid Build Coastguard Worker assert('-63' === $m->getMapInt64Int64()['-63']); 295*1b3f573fSAndroid Build Coastguard Worker assert('63' === $m->getMapUint64Uint64()['63']); 296*1b3f573fSAndroid Build Coastguard Worker assert('-65' === $m->getMapSint64Sint64()['-65']); 297*1b3f573fSAndroid Build Coastguard Worker assert('67' === $m->getMapFixed64Fixed64()['67']); 298*1b3f573fSAndroid Build Coastguard Worker assert('-69' === $m->getMapSfixed64Sfixed64()['-69']); 299*1b3f573fSAndroid Build Coastguard Worker } else { 300*1b3f573fSAndroid Build Coastguard Worker assert(-63 === $m->getMapInt64Int64()[-63]); 301*1b3f573fSAndroid Build Coastguard Worker assert(63 === $m->getMapUint64Uint64()[63]); 302*1b3f573fSAndroid Build Coastguard Worker assert(-65 === $m->getMapSint64Sint64()[-65]); 303*1b3f573fSAndroid Build Coastguard Worker assert(67 === $m->getMapFixed64Fixed64()[67]); 304*1b3f573fSAndroid Build Coastguard Worker assert(-69 === $m->getMapSfixed64Sfixed64()[-69]); 305*1b3f573fSAndroid Build Coastguard Worker } 306*1b3f573fSAndroid Build Coastguard Worker assert(-62 === $m->getMapInt32Int32()[-62]); 307*1b3f573fSAndroid Build Coastguard Worker assert(62 === $m->getMapUint32Uint32()[62]); 308*1b3f573fSAndroid Build Coastguard Worker assert(-64 === $m->getMapSint32Sint32()[-64]); 309*1b3f573fSAndroid Build Coastguard Worker assert(66 === $m->getMapFixed32Fixed32()[66]); 310*1b3f573fSAndroid Build Coastguard Worker assert(-68 === $m->getMapSfixed32Sfixed32()[-68]); 311*1b3f573fSAndroid Build Coastguard Worker assert(3.5 === $m->getMapInt32Float()[1]); 312*1b3f573fSAndroid Build Coastguard Worker assert(3.6 === $m->getMapInt32Double()[1]); 313*1b3f573fSAndroid Build Coastguard Worker assert(true === $m->getMapBoolBool()[true]); 314*1b3f573fSAndroid Build Coastguard Worker assert('e' === $m->getMapStringString()['e']); 315*1b3f573fSAndroid Build Coastguard Worker assert('ffff' === $m->getMapInt32Bytes()[1]); 316*1b3f573fSAndroid Build Coastguard Worker assert(TestEnum::ONE === $m->getMapInt32Enum()[1]); 317*1b3f573fSAndroid Build Coastguard Worker assert(36 === $m->getMapInt32Message()[1]->GetA()); 318*1b3f573fSAndroid Build Coastguard Worker } 319*1b3f573fSAndroid Build Coastguard Worker 320*1b3f573fSAndroid Build Coastguard Worker public static function getGoldenTestMessage() 321*1b3f573fSAndroid Build Coastguard Worker { 322*1b3f573fSAndroid Build Coastguard Worker return hex2bin( 323*1b3f573fSAndroid Build Coastguard Worker "08D6FFFFFFFFFFFFFFFF01" . 324*1b3f573fSAndroid Build Coastguard Worker "10D5FFFFFFFFFFFFFFFF01" . 325*1b3f573fSAndroid Build Coastguard Worker "182A" . 326*1b3f573fSAndroid Build Coastguard Worker "202B" . 327*1b3f573fSAndroid Build Coastguard Worker "2857" . 328*1b3f573fSAndroid Build Coastguard Worker "3059" . 329*1b3f573fSAndroid Build Coastguard Worker "3D2E000000" . 330*1b3f573fSAndroid Build Coastguard Worker "412F00000000000000" . 331*1b3f573fSAndroid Build Coastguard Worker "4DD2FFFFFF" . 332*1b3f573fSAndroid Build Coastguard Worker "51D1FFFFFFFFFFFFFF" . 333*1b3f573fSAndroid Build Coastguard Worker "5D0000C03F" . 334*1b3f573fSAndroid Build Coastguard Worker "619A9999999999F93F" . 335*1b3f573fSAndroid Build Coastguard Worker "6801" . 336*1b3f573fSAndroid Build Coastguard Worker "720161" . 337*1b3f573fSAndroid Build Coastguard Worker "7A0462626262" . 338*1b3f573fSAndroid Build Coastguard Worker "800101" . 339*1b3f573fSAndroid Build Coastguard Worker "8A01020821" . 340*1b3f573fSAndroid Build Coastguard Worker 341*1b3f573fSAndroid Build Coastguard Worker "FA0114D6FFFFFFFFFFFFFFFF01CCFFFFFFFFFFFFFFFF01" . 342*1b3f573fSAndroid Build Coastguard Worker "820214D5FFFFFFFFFFFFFFFF01CBFFFFFFFFFFFFFFFF01" . 343*1b3f573fSAndroid Build Coastguard Worker "8A02022A34" . 344*1b3f573fSAndroid Build Coastguard Worker "9202022B35" . 345*1b3f573fSAndroid Build Coastguard Worker "9A0202576B" . 346*1b3f573fSAndroid Build Coastguard Worker "A20202596D" . 347*1b3f573fSAndroid Build Coastguard Worker "AA02082E00000038000000" . 348*1b3f573fSAndroid Build Coastguard Worker "B202102F000000000000003900000000000000" . 349*1b3f573fSAndroid Build Coastguard Worker "BA0208D2FFFFFFC8FFFFFF" . 350*1b3f573fSAndroid Build Coastguard Worker "C20210D1FFFFFFFFFFFFFFC7FFFFFFFFFFFFFF" . 351*1b3f573fSAndroid Build Coastguard Worker "CA02080000C03F00002040" . 352*1b3f573fSAndroid Build Coastguard Worker "D202109A9999999999F93FCDCCCCCCCCCC0440" . 353*1b3f573fSAndroid Build Coastguard Worker "DA02020100" . 354*1b3f573fSAndroid Build Coastguard Worker "E2020161" . 355*1b3f573fSAndroid Build Coastguard Worker "E2020163" . 356*1b3f573fSAndroid Build Coastguard Worker "EA020462626262" . 357*1b3f573fSAndroid Build Coastguard Worker "EA020464646464" . 358*1b3f573fSAndroid Build Coastguard Worker "F202020001" . 359*1b3f573fSAndroid Build Coastguard Worker "FA02020822" . 360*1b3f573fSAndroid Build Coastguard Worker "FA02020823" . 361*1b3f573fSAndroid Build Coastguard Worker 362*1b3f573fSAndroid Build Coastguard Worker "BA041608C2FFFFFFFFFFFFFFFF0110C2FFFFFFFFFFFFFFFF01" . 363*1b3f573fSAndroid Build Coastguard Worker "C2041608C1FFFFFFFFFFFFFFFF0110C1FFFFFFFFFFFFFFFF01" . 364*1b3f573fSAndroid Build Coastguard Worker "CA0404083E103E" . 365*1b3f573fSAndroid Build Coastguard Worker "D20404083F103F" . 366*1b3f573fSAndroid Build Coastguard Worker "DA0404087f107F" . 367*1b3f573fSAndroid Build Coastguard Worker "E20406088101108101" . 368*1b3f573fSAndroid Build Coastguard Worker "EA040A0D420000001542000000" . 369*1b3f573fSAndroid Build Coastguard Worker "F20412094300000000000000114300000000000000" . 370*1b3f573fSAndroid Build Coastguard Worker "FA040A0DBCFFFFFF15BCFFFFFF" . 371*1b3f573fSAndroid Build Coastguard Worker "82051209BBFFFFFFFFFFFFFF11BBFFFFFFFFFFFFFF" . 372*1b3f573fSAndroid Build Coastguard Worker "8A050708011500006040" . 373*1b3f573fSAndroid Build Coastguard Worker "92050B080111CDCCCCCCCCCC0C40" . 374*1b3f573fSAndroid Build Coastguard Worker "9A050408011001" . 375*1b3f573fSAndroid Build Coastguard Worker "A205060a0165120165" . 376*1b3f573fSAndroid Build Coastguard Worker "AA05080801120466666666" . 377*1b3f573fSAndroid Build Coastguard Worker "B2050408011001" . 378*1b3f573fSAndroid Build Coastguard Worker "Ba0506080112020824" 379*1b3f573fSAndroid Build Coastguard Worker ); 380*1b3f573fSAndroid Build Coastguard Worker } 381*1b3f573fSAndroid Build Coastguard Worker 382*1b3f573fSAndroid Build Coastguard Worker public static function setTestPackedMessage($m) 383*1b3f573fSAndroid Build Coastguard Worker { 384*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt32', -42); 385*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt32', -52); 386*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt64', -43); 387*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedInt64', -53); 388*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint32', 42); 389*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint32', 52); 390*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint64', 43); 391*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedUint64', 53); 392*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint32', -44); 393*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint32', -54); 394*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint64', -45); 395*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSint64', -55); 396*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed32', 46); 397*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed32', 56); 398*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed64', 47); 399*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFixed64', 57); 400*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed32', -46); 401*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed32', -56); 402*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed64', -47); 403*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedSfixed64', -57); 404*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFloat', 1.5); 405*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedFloat', 2.5); 406*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedDouble', 1.6); 407*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedDouble', 2.6); 408*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBool', true); 409*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedBool', false); 410*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedEnum', TestEnum::ONE); 411*1b3f573fSAndroid Build Coastguard Worker self::appendHelper($m, 'RepeatedEnum', TestEnum::ZERO); 412*1b3f573fSAndroid Build Coastguard Worker } 413*1b3f573fSAndroid Build Coastguard Worker 414*1b3f573fSAndroid Build Coastguard Worker public static function assertTestPackedMessage($m) 415*1b3f573fSAndroid Build Coastguard Worker { 416*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedInt32())); 417*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedInt64())); 418*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedUint32())); 419*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedUint64())); 420*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedSint32())); 421*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedSint64())); 422*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedFixed32())); 423*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedFixed64())); 424*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedSfixed32())); 425*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedSfixed64())); 426*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedFloat())); 427*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedDouble())); 428*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedBool())); 429*1b3f573fSAndroid Build Coastguard Worker assert(2 === count($m->getRepeatedEnum())); 430*1b3f573fSAndroid Build Coastguard Worker 431*1b3f573fSAndroid Build Coastguard Worker assert(-42 === $m->getRepeatedInt32()[0]); 432*1b3f573fSAndroid Build Coastguard Worker assert(-52 === $m->getRepeatedInt32()[1]); 433*1b3f573fSAndroid Build Coastguard Worker assert(42 === $m->getRepeatedUint32()[0]); 434*1b3f573fSAndroid Build Coastguard Worker assert(52 === $m->getRepeatedUint32()[1]); 435*1b3f573fSAndroid Build Coastguard Worker assert(-44 === $m->getRepeatedSint32()[0]); 436*1b3f573fSAndroid Build Coastguard Worker assert(-54 === $m->getRepeatedSint32()[1]); 437*1b3f573fSAndroid Build Coastguard Worker assert(46 === $m->getRepeatedFixed32()[0]); 438*1b3f573fSAndroid Build Coastguard Worker assert(56 === $m->getRepeatedFixed32()[1]); 439*1b3f573fSAndroid Build Coastguard Worker assert(-46 === $m->getRepeatedSfixed32()[0]); 440*1b3f573fSAndroid Build Coastguard Worker assert(-56 === $m->getRepeatedSfixed32()[1]); 441*1b3f573fSAndroid Build Coastguard Worker assert(1.5 === $m->getRepeatedFloat()[0]); 442*1b3f573fSAndroid Build Coastguard Worker assert(2.5 === $m->getRepeatedFloat()[1]); 443*1b3f573fSAndroid Build Coastguard Worker assert(1.6 === $m->getRepeatedDouble()[0]); 444*1b3f573fSAndroid Build Coastguard Worker assert(2.6 === $m->getRepeatedDouble()[1]); 445*1b3f573fSAndroid Build Coastguard Worker assert(true === $m->getRepeatedBool()[0]); 446*1b3f573fSAndroid Build Coastguard Worker assert(false === $m->getRepeatedBool()[1]); 447*1b3f573fSAndroid Build Coastguard Worker assert(TestEnum::ONE === $m->getRepeatedEnum()[0]); 448*1b3f573fSAndroid Build Coastguard Worker assert(TestEnum::ZERO === $m->getRepeatedEnum()[1]); 449*1b3f573fSAndroid Build Coastguard Worker if (PHP_INT_SIZE == 4) { 450*1b3f573fSAndroid Build Coastguard Worker assert('-43' === $m->getRepeatedInt64()[0]); 451*1b3f573fSAndroid Build Coastguard Worker assert('-53' === $m->getRepeatedInt64()[1]); 452*1b3f573fSAndroid Build Coastguard Worker assert('43' === $m->getRepeatedUint64()[0]); 453*1b3f573fSAndroid Build Coastguard Worker assert('53' === $m->getRepeatedUint64()[1]); 454*1b3f573fSAndroid Build Coastguard Worker assert('-45' === $m->getRepeatedSint64()[0]); 455*1b3f573fSAndroid Build Coastguard Worker assert('-55' === $m->getRepeatedSint64()[1]); 456*1b3f573fSAndroid Build Coastguard Worker assert('47' === $m->getRepeatedFixed64()[0]); 457*1b3f573fSAndroid Build Coastguard Worker assert('57' === $m->getRepeatedFixed64()[1]); 458*1b3f573fSAndroid Build Coastguard Worker assert('-47' === $m->getRepeatedSfixed64()[0]); 459*1b3f573fSAndroid Build Coastguard Worker assert('-57' === $m->getRepeatedSfixed64()[1]); 460*1b3f573fSAndroid Build Coastguard Worker } else { 461*1b3f573fSAndroid Build Coastguard Worker assert(-43 === $m->getRepeatedInt64()[0]); 462*1b3f573fSAndroid Build Coastguard Worker assert(-53 === $m->getRepeatedInt64()[1]); 463*1b3f573fSAndroid Build Coastguard Worker assert(43 === $m->getRepeatedUint64()[0]); 464*1b3f573fSAndroid Build Coastguard Worker assert(53 === $m->getRepeatedUint64()[1]); 465*1b3f573fSAndroid Build Coastguard Worker assert(-45 === $m->getRepeatedSint64()[0]); 466*1b3f573fSAndroid Build Coastguard Worker assert(-55 === $m->getRepeatedSint64()[1]); 467*1b3f573fSAndroid Build Coastguard Worker assert(47 === $m->getRepeatedFixed64()[0]); 468*1b3f573fSAndroid Build Coastguard Worker assert(57 === $m->getRepeatedFixed64()[1]); 469*1b3f573fSAndroid Build Coastguard Worker assert(-47 === $m->getRepeatedSfixed64()[0]); 470*1b3f573fSAndroid Build Coastguard Worker assert(-57 === $m->getRepeatedSfixed64()[1]); 471*1b3f573fSAndroid Build Coastguard Worker } 472*1b3f573fSAndroid Build Coastguard Worker } 473*1b3f573fSAndroid Build Coastguard Worker 474*1b3f573fSAndroid Build Coastguard Worker public static function getGoldenTestPackedMessage() 475*1b3f573fSAndroid Build Coastguard Worker { 476*1b3f573fSAndroid Build Coastguard Worker return hex2bin( 477*1b3f573fSAndroid Build Coastguard Worker "D20514D6FFFFFFFFFFFFFFFF01CCFFFFFFFFFFFFFFFF01" . 478*1b3f573fSAndroid Build Coastguard Worker "DA0514D5FFFFFFFFFFFFFFFF01CBFFFFFFFFFFFFFFFF01" . 479*1b3f573fSAndroid Build Coastguard Worker "E205022A34" . 480*1b3f573fSAndroid Build Coastguard Worker "EA05022B35" . 481*1b3f573fSAndroid Build Coastguard Worker "F20502576B" . 482*1b3f573fSAndroid Build Coastguard Worker "FA0502596D" . 483*1b3f573fSAndroid Build Coastguard Worker "8206082E00000038000000" . 484*1b3f573fSAndroid Build Coastguard Worker "8A06102F000000000000003900000000000000" . 485*1b3f573fSAndroid Build Coastguard Worker "920608D2FFFFFFC8FFFFFF" . 486*1b3f573fSAndroid Build Coastguard Worker "9A0610D1FFFFFFFFFFFFFFC7FFFFFFFFFFFFFF" . 487*1b3f573fSAndroid Build Coastguard Worker "A206080000C03F00002040" . 488*1b3f573fSAndroid Build Coastguard Worker "AA06109A9999999999F93FCDCCCCCCCCCC0440" . 489*1b3f573fSAndroid Build Coastguard Worker "B206020100" . 490*1b3f573fSAndroid Build Coastguard Worker "BA06020100" 491*1b3f573fSAndroid Build Coastguard Worker ); 492*1b3f573fSAndroid Build Coastguard Worker } 493*1b3f573fSAndroid Build Coastguard Worker 494*1b3f573fSAndroid Build Coastguard Worker public static function getGoldenTestUnpackedMessage() 495*1b3f573fSAndroid Build Coastguard Worker { 496*1b3f573fSAndroid Build Coastguard Worker return hex2bin( 497*1b3f573fSAndroid Build Coastguard Worker "D005D6FFFFFFFFFFFFFFFF01D005CCFFFFFFFFFFFFFFFF01" . 498*1b3f573fSAndroid Build Coastguard Worker "D805D5FFFFFFFFFFFFFFFF01D805CBFFFFFFFFFFFFFFFF01" . 499*1b3f573fSAndroid Build Coastguard Worker "E0052AE00534" . 500*1b3f573fSAndroid Build Coastguard Worker "E8052BE80535" . 501*1b3f573fSAndroid Build Coastguard Worker "F00557F0056B" . 502*1b3f573fSAndroid Build Coastguard Worker "F80559F8056D" . 503*1b3f573fSAndroid Build Coastguard Worker "85062E000000850638000000" . 504*1b3f573fSAndroid Build Coastguard Worker "89062F0000000000000089063900000000000000" . 505*1b3f573fSAndroid Build Coastguard Worker "9506D2FFFFFF9506C8FFFFFF" . 506*1b3f573fSAndroid Build Coastguard Worker "9906D1FFFFFFFFFFFFFF9906C7FFFFFFFFFFFFFF" . 507*1b3f573fSAndroid Build Coastguard Worker "A5060000C03FA50600002040" . 508*1b3f573fSAndroid Build Coastguard Worker "A9069A9999999999F93FA906CDCCCCCCCCCC0440" . 509*1b3f573fSAndroid Build Coastguard Worker "B00601B00600" . 510*1b3f573fSAndroid Build Coastguard Worker "B80601B80600" 511*1b3f573fSAndroid Build Coastguard Worker ); 512*1b3f573fSAndroid Build Coastguard Worker } 513*1b3f573fSAndroid Build Coastguard Worker 514*1b3f573fSAndroid Build Coastguard Worker private static function appendHelper($obj, $func_suffix, $value) 515*1b3f573fSAndroid Build Coastguard Worker { 516*1b3f573fSAndroid Build Coastguard Worker $getter_function = 'get'.$func_suffix; 517*1b3f573fSAndroid Build Coastguard Worker $setter_function = 'set'.$func_suffix; 518*1b3f573fSAndroid Build Coastguard Worker 519*1b3f573fSAndroid Build Coastguard Worker $arr = $obj->$getter_function(); 520*1b3f573fSAndroid Build Coastguard Worker $arr[] = $value; 521*1b3f573fSAndroid Build Coastguard Worker $obj->$setter_function($arr); 522*1b3f573fSAndroid Build Coastguard Worker } 523*1b3f573fSAndroid Build Coastguard Worker 524*1b3f573fSAndroid Build Coastguard Worker private static function kvUpdateHelper($obj, $func_suffix, $key, $value) 525*1b3f573fSAndroid Build Coastguard Worker { 526*1b3f573fSAndroid Build Coastguard Worker $getter_function = 'get'.$func_suffix; 527*1b3f573fSAndroid Build Coastguard Worker $setter_function = 'set'.$func_suffix; 528*1b3f573fSAndroid Build Coastguard Worker 529*1b3f573fSAndroid Build Coastguard Worker $arr = $obj->$getter_function(); 530*1b3f573fSAndroid Build Coastguard Worker $arr[$key] = $value; 531*1b3f573fSAndroid Build Coastguard Worker $obj->$setter_function($arr); 532*1b3f573fSAndroid Build Coastguard Worker } 533*1b3f573fSAndroid Build Coastguard Worker} 534