|
23 | 23 | import com.google.cloud.Date; |
24 | 24 | import com.google.cloud.Timestamp; |
25 | 25 | import com.google.common.testing.EqualsTester; |
| 26 | +import com.google.protobuf.ListValue; |
| 27 | +import com.google.protobuf.NullValue; |
26 | 28 | import org.junit.Test; |
27 | 29 | import org.junit.runner.RunWith; |
28 | 30 | import org.junit.runners.JUnit4; |
@@ -189,4 +191,35 @@ public void serialization() throws Exception { |
189 | 191 | reserializeAndAssert(Key.of(Date.parseDate("2015-09-15"))); |
190 | 192 | reserializeAndAssert(Key.of(1, 2, 3)); |
191 | 193 | } |
| 194 | + |
| 195 | + @Test |
| 196 | + public void toProto() { |
| 197 | + String timestamp = "2015-09-15T00:00:00Z"; |
| 198 | + String date = "2015-09-15"; |
| 199 | + Key k = |
| 200 | + Key.newBuilder() |
| 201 | + .append((Boolean) null) |
| 202 | + .append(true) |
| 203 | + .append(32) |
| 204 | + .append(64L) |
| 205 | + .append(2.0f) |
| 206 | + .append(4.0d) |
| 207 | + .append("x") |
| 208 | + .append(ByteArray.copyFrom("y")) |
| 209 | + .append(Timestamp.parseTimestamp(timestamp)) |
| 210 | + .append(Date.parseDate(date)) |
| 211 | + .build(); |
| 212 | + ListValue.Builder builder = ListValue.newBuilder(); |
| 213 | + builder.addValuesBuilder().setNullValue(NullValue.NULL_VALUE); |
| 214 | + builder.addValuesBuilder().setBoolValue(true); |
| 215 | + builder.addValuesBuilder().setStringValue("32"); |
| 216 | + builder.addValuesBuilder().setStringValue("64"); |
| 217 | + builder.addValuesBuilder().setNumberValue(2.0f); |
| 218 | + builder.addValuesBuilder().setNumberValue(4.0d); |
| 219 | + builder.addValuesBuilder().setStringValue("x"); |
| 220 | + builder.addValuesBuilder().setStringValue("eQ=="); |
| 221 | + builder.addValuesBuilder().setStringValue(timestamp); |
| 222 | + builder.addValuesBuilder().setStringValue(date); |
| 223 | + assertThat(k.toProto()).isEqualTo(builder.build()); |
| 224 | + } |
192 | 225 | } |
0 commit comments