test_base.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. <?php
  2. use Foo\TestMessage;
  3. use Foo\TestEnum;
  4. use Foo\TestMessage_Sub;
  5. class TestBase extends PHPUnit_Framework_TestCase
  6. {
  7. public function setFields(TestMessage $m)
  8. {
  9. TestUtil::setTestMessage($m);
  10. }
  11. public function expectFields(TestMessage $m)
  12. {
  13. $this->assertSame(-44, $m->getOptionalSint32());
  14. $this->assertSame(46, $m->getOptionalFixed32());
  15. $this->assertSame(-46, $m->getOptionalSfixed32());
  16. $this->assertSame(1.5, $m->getOptionalFloat());
  17. $this->assertSame(1.6, $m->getOptionalDouble());
  18. $this->assertSame(true, $m->getOptionalBool());
  19. $this->assertSame('a', $m->getOptionalString());
  20. $this->assertSame('b', $m->getOptionalBytes());
  21. $this->assertSame(33, $m->getOptionalMessage()->getA());
  22. if (PHP_INT_SIZE == 4) {
  23. $this->assertSame('-43', $m->getOptionalInt64());
  24. $this->assertSame('43', $m->getOptionalUint64());
  25. $this->assertSame('-45', $m->getOptionalSint64());
  26. $this->assertSame('47', $m->getOptionalFixed64());
  27. $this->assertSame('-47', $m->getOptionalSfixed64());
  28. } else {
  29. $this->assertSame(-43, $m->getOptionalInt64());
  30. $this->assertSame(43, $m->getOptionalUint64());
  31. $this->assertSame(-45, $m->getOptionalSint64());
  32. $this->assertSame(47, $m->getOptionalFixed64());
  33. $this->assertSame(-47, $m->getOptionalSfixed64());
  34. }
  35. $this->assertEquals(-42, $m->getRepeatedInt32()[0]);
  36. $this->assertEquals(42, $m->getRepeatedUint32()[0]);
  37. $this->assertEquals(-43, $m->getRepeatedInt64()[0]);
  38. $this->assertEquals(43, $m->getRepeatedUint64()[0]);
  39. $this->assertEquals(-44, $m->getRepeatedSint32()[0]);
  40. $this->assertEquals(-45, $m->getRepeatedSint64()[0]);
  41. $this->assertEquals(46, $m->getRepeatedFixed32()[0]);
  42. $this->assertEquals(47, $m->getRepeatedFixed64()[0]);
  43. $this->assertEquals(-46, $m->getRepeatedSfixed32()[0]);
  44. $this->assertEquals(-47, $m->getRepeatedSfixed64()[0]);
  45. $this->assertEquals(1.5, $m->getRepeatedFloat()[0]);
  46. $this->assertEquals(1.6, $m->getRepeatedDouble()[0]);
  47. $this->assertEquals(true, $m->getRepeatedBool()[0]);
  48. $this->assertEquals('a', $m->getRepeatedString()[0]);
  49. $this->assertEquals('b', $m->getRepeatedBytes()[0]);
  50. $this->assertEquals(34, $m->getRepeatedMessage()[0]->GetA());
  51. $this->assertEquals(-52, $m->getRepeatedInt32()[1]);
  52. $this->assertEquals(52, $m->getRepeatedUint32()[1]);
  53. $this->assertEquals(-53, $m->getRepeatedInt64()[1]);
  54. $this->assertEquals(53, $m->getRepeatedUint64()[1]);
  55. $this->assertEquals(-54, $m->getRepeatedSint32()[1]);
  56. $this->assertEquals(-55, $m->getRepeatedSint64()[1]);
  57. $this->assertEquals(56, $m->getRepeatedFixed32()[1]);
  58. $this->assertEquals(57, $m->getRepeatedFixed64()[1]);
  59. $this->assertEquals(-56, $m->getRepeatedSfixed32()[1]);
  60. $this->assertEquals(-57, $m->getRepeatedSfixed64()[1]);
  61. $this->assertEquals(2.5, $m->getRepeatedFloat()[1]);
  62. $this->assertEquals(2.6, $m->getRepeatedDouble()[1]);
  63. $this->assertEquals(false, $m->getRepeatedBool()[1]);
  64. $this->assertEquals('c', $m->getRepeatedString()[1]);
  65. $this->assertEquals('d', $m->getRepeatedBytes()[1]);
  66. $this->assertEquals(35, $m->getRepeatedMessage()[1]->GetA());
  67. if (PHP_INT_SIZE == 4) {
  68. $this->assertEquals('-63', $m->getMapInt64Int64()['-63']);
  69. $this->assertEquals('63', $m->getMapUint64Uint64()['63']);
  70. $this->assertEquals('-65', $m->getMapSint64Sint64()['-65']);
  71. $this->assertEquals('67', $m->getMapFixed64Fixed64()['67']);
  72. $this->assertEquals('-69', $m->getMapSfixed64Sfixed64()['-69']);
  73. } else {
  74. $this->assertEquals(-63, $m->getMapInt64Int64()[-63]);
  75. $this->assertEquals(63, $m->getMapUint64Uint64()[63]);
  76. $this->assertEquals(-65, $m->getMapSint64Sint64()[-65]);
  77. $this->assertEquals(67, $m->getMapFixed64Fixed64()[67]);
  78. $this->assertEquals(-69, $m->getMapSfixed64Sfixed64()[-69]);
  79. }
  80. $this->assertEquals(-62, $m->getMapInt32Int32()[-62]);
  81. $this->assertEquals(62, $m->getMapUint32Uint32()[62]);
  82. $this->assertEquals(-64, $m->getMapSint32Sint32()[-64]);
  83. $this->assertEquals(66, $m->getMapFixed32Fixed32()[66]);
  84. $this->assertEquals(-68, $m->getMapSfixed32Sfixed32()[-68]);
  85. $this->assertEquals(3.5, $m->getMapInt32Float()[1]);
  86. $this->assertEquals(3.6, $m->getMapInt32Double()[1]);
  87. $this->assertEquals(true , $m->getMapBoolBool()[true]);
  88. $this->assertEquals('e', $m->getMapStringString()['e']);
  89. $this->assertEquals('f', $m->getMapInt32Bytes()[1]);
  90. $this->assertEquals(TestEnum::ONE, $m->getMapInt32Enum()[1]);
  91. $this->assertEquals(36, $m->getMapInt32Message()[1]->GetA());
  92. }
  93. public function expectEmptyFields(TestMessage $m)
  94. {
  95. $this->assertSame(0, $m->getOptionalInt32());
  96. $this->assertSame(0, $m->getOptionalUint32());
  97. $this->assertSame(0, $m->getOptionalSint32());
  98. $this->assertSame(0, $m->getOptionalFixed32());
  99. $this->assertSame(0, $m->getOptionalSfixed32());
  100. $this->assertSame(0.0, $m->getOptionalFloat());
  101. $this->assertSame(0.0, $m->getOptionalDouble());
  102. $this->assertSame(false, $m->getOptionalBool());
  103. $this->assertSame('', $m->getOptionalString());
  104. $this->assertSame('', $m->getOptionalBytes());
  105. $this->assertSame(0, $m->getOptionalEnum());
  106. $this->assertNull($m->getOptionalMessage());
  107. $this->assertNull($m->getOptionalIncludedMessage());
  108. $this->assertNull($m->getRecursive());
  109. if (PHP_INT_SIZE == 4) {
  110. $this->assertSame("0", $m->getOptionalInt64());
  111. $this->assertSame("0", $m->getOptionalUint64());
  112. $this->assertSame("0", $m->getOptionalSint64());
  113. $this->assertSame("0", $m->getOptionalFixed64());
  114. $this->assertSame("0", $m->getOptionalSfixed64());
  115. } else {
  116. $this->assertSame(0, $m->getOptionalInt64());
  117. $this->assertSame(0, $m->getOptionalUint64());
  118. $this->assertSame(0, $m->getOptionalSint64());
  119. $this->assertSame(0, $m->getOptionalFixed64());
  120. $this->assertSame(0, $m->getOptionalSfixed64());
  121. }
  122. $this->assertEquals(0, count($m->getRepeatedInt32()));
  123. $this->assertEquals(0, count($m->getRepeatedUint32()));
  124. $this->assertEquals(0, count($m->getRepeatedInt64()));
  125. $this->assertEquals(0, count($m->getRepeatedUint64()));
  126. $this->assertEquals(0, count($m->getRepeatedSint32()));
  127. $this->assertEquals(0, count($m->getRepeatedSint64()));
  128. $this->assertEquals(0, count($m->getRepeatedFixed32()));
  129. $this->assertEquals(0, count($m->getRepeatedFixed64()));
  130. $this->assertEquals(0, count($m->getRepeatedSfixed32()));
  131. $this->assertEquals(0, count($m->getRepeatedSfixed64()));
  132. $this->assertEquals(0, count($m->getRepeatedFloat()));
  133. $this->assertEquals(0, count($m->getRepeatedDouble()));
  134. $this->assertEquals(0, count($m->getRepeatedBool()));
  135. $this->assertEquals(0, count($m->getRepeatedString()));
  136. $this->assertEquals(0, count($m->getRepeatedBytes()));
  137. $this->assertEquals(0, count($m->getRepeatedEnum()));
  138. $this->assertEquals(0, count($m->getRepeatedMessage()));
  139. $this->assertEquals(0, count($m->getRepeatedRecursive()));
  140. $this->assertSame("", $m->getMyOneof());
  141. $this->assertSame(0, $m->getOneofInt32());
  142. $this->assertSame(0, $m->getOneofUint32());
  143. $this->assertSame(0, $m->getOneofSint32());
  144. $this->assertSame(0, $m->getOneofFixed32());
  145. $this->assertSame(0, $m->getOneofSfixed32());
  146. $this->assertSame(0.0, $m->getOneofFloat());
  147. $this->assertSame(0.0, $m->getOneofDouble());
  148. $this->assertSame(false, $m->getOneofBool());
  149. $this->assertSame('', $m->getOneofString());
  150. $this->assertSame('', $m->getOneofBytes());
  151. $this->assertSame(0, $m->getOneofEnum());
  152. $this->assertNull($m->getOptionalMessage());
  153. if (PHP_INT_SIZE == 4) {
  154. $this->assertSame("0", $m->getOneofInt64());
  155. $this->assertSame("0", $m->getOneofUint64());
  156. $this->assertSame("0", $m->getOneofSint64());
  157. $this->assertSame("0", $m->getOneofFixed64());
  158. $this->assertSame("0", $m->getOneofSfixed64());
  159. } else {
  160. $this->assertSame(0, $m->getOneofInt64());
  161. $this->assertSame(0, $m->getOneofUint64());
  162. $this->assertSame(0, $m->getOneofSint64());
  163. $this->assertSame(0, $m->getOneofFixed64());
  164. $this->assertSame(0, $m->getOneofSfixed64());
  165. }
  166. $this->assertEquals(0, count($m->getMapInt64Int64()));
  167. $this->assertEquals(0, count($m->getMapUint64Uint64()));
  168. $this->assertEquals(0, count($m->getMapSint64Sint64()));
  169. $this->assertEquals(0, count($m->getMapFixed64Fixed64()));
  170. $this->assertEquals(0, count($m->getMapInt32Int32()));
  171. $this->assertEquals(0, count($m->getMapUint32Uint32()));
  172. $this->assertEquals(0, count($m->getMapSint32Sint32()));
  173. $this->assertEquals(0, count($m->getMapFixed32Fixed32()));
  174. $this->assertEquals(0, count($m->getMapSfixed32Sfixed32()));
  175. $this->assertEquals(0, count($m->getMapSfixed64Sfixed64()));
  176. $this->assertEquals(0, count($m->getMapInt32Float()));
  177. $this->assertEquals(0, count($m->getMapInt32Double()));
  178. $this->assertEquals(0, count($m->getMapBoolBool()));
  179. $this->assertEquals(0, count($m->getMapStringString()));
  180. $this->assertEquals(0, count($m->getMapInt32Bytes()));
  181. $this->assertEquals(0, count($m->getMapInt32Enum()));
  182. $this->assertEquals(0, count($m->getMapInt32Message()));
  183. $this->assertEquals(0, count($m->getMapRecursive()));
  184. }
  185. // This test is to avoid the warning of no test by php unit.
  186. public function testNone()
  187. {
  188. }
  189. }