31 package com.google.protobuf;
33 import static com.
google.common.truth.Truth.assertThat;
34 import static com.
google.common.truth.Truth.assertWithMessage;
36 import any_test.AnyTestProto.TestAny;
38 import java.util.Objects;
39 import org.junit.Test;
40 import org.junit.runner.RunWith;
41 import org.junit.runners.JUnit4;
44 @RunWith(JUnit4.class)
45 public class AnyTest {
49 TestAllTypes.Builder
builder = TestAllTypes.newBuilder();
55 assertThat(
container.getValue().is(TestAllTypes.class)).isTrue();
56 assertThat(
container.getValue().is(TestAny.class)).isFalse();
64 container.getValue().unpack(TestAny.class);
65 assertWithMessage(
"Exception is expected.").fail();
71 TestAny.Builder containerBuilder =
container.toBuilder();
72 containerBuilder.getValueBuilder().setValue(
ByteString.copyFrom(
new byte[] {0x11}));
75 container.getValue().unpack(TestAllTypes.class);
76 assertWithMessage(
"Exception is expected.").fail();
84 TestAllTypes.Builder
builder = TestAllTypes.newBuilder();
90 assertThat(
container.getValue().getTypeUrl())
91 .isEqualTo(
"xxx.com/" + TestAllTypes.getDescriptor().getFullName());
93 assertThat(
container.getValue().is(TestAllTypes.class)).isTrue();
94 assertThat(
container.getValue().is(TestAny.class)).isFalse();
101 assertThat(
container.getValue().getTypeUrl())
102 .isEqualTo(
"yyy.com/" + TestAllTypes.getDescriptor().getFullName());
104 assertThat(
container.getValue().is(TestAllTypes.class)).isTrue();
105 assertThat(
container.getValue().is(TestAny.class)).isFalse();
112 assertThat(
container.getValue().getTypeUrl())
113 .isEqualTo(
"/" + TestAllTypes.getDescriptor().getFullName());
115 assertThat(
container.getValue().is(TestAllTypes.class)).isTrue();
116 assertThat(
container.getValue().is(TestAny.class)).isFalse();
124 TestAllTypes.Builder
builder = TestAllTypes.newBuilder();
130 assertThat(
container.getValue().is(TestAllTypes.class)).isTrue();
132 TestAllTypes result1 =
container.getValue().unpack(TestAllTypes.class);
133 TestAllTypes result2 =
container.getValue().unpack(TestAllTypes.class);
134 assertThat(Objects.equals(result1, result2)).isTrue();