OLD | NEW |
1 // Protocol Buffers - Google's data interchange format | 1 // Protocol Buffers - Google's data interchange format |
2 // Copyright 2008 Google Inc. All rights reserved. | 2 // Copyright 2008 Google Inc. All rights reserved. |
3 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
4 // | 4 // |
5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
7 // met: | 7 // met: |
8 // | 8 // |
9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 import protobuf_unittest.UnittestProto.ForeignMessageOrBuilder; | 58 import protobuf_unittest.UnittestProto.ForeignMessageOrBuilder; |
59 import protobuf_unittest.UnittestProto.NestedTestAllTypes; | 59 import protobuf_unittest.UnittestProto.NestedTestAllTypes; |
60 import protobuf_unittest.UnittestProto.TestAllExtensions; | 60 import protobuf_unittest.UnittestProto.TestAllExtensions; |
61 import protobuf_unittest.UnittestProto.TestAllTypes; | 61 import protobuf_unittest.UnittestProto.TestAllTypes; |
62 import protobuf_unittest.UnittestProto.TestAllTypes.NestedMessage; | 62 import protobuf_unittest.UnittestProto.TestAllTypes.NestedMessage; |
63 import protobuf_unittest.UnittestProto.TestAllTypesOrBuilder; | 63 import protobuf_unittest.UnittestProto.TestAllTypesOrBuilder; |
64 import protobuf_unittest.UnittestProto.TestExtremeDefaultValues; | 64 import protobuf_unittest.UnittestProto.TestExtremeDefaultValues; |
65 import protobuf_unittest.UnittestProto.TestOneof2; | 65 import protobuf_unittest.UnittestProto.TestOneof2; |
66 import protobuf_unittest.UnittestProto.TestPackedTypes; | 66 import protobuf_unittest.UnittestProto.TestPackedTypes; |
67 import protobuf_unittest.UnittestProto.TestUnpackedTypes; | 67 import protobuf_unittest.UnittestProto.TestUnpackedTypes; |
68 | |
69 import junit.framework.TestCase; | |
70 | |
71 import java.io.ByteArrayInputStream; | 68 import java.io.ByteArrayInputStream; |
72 import java.io.ByteArrayOutputStream; | 69 import java.io.ByteArrayOutputStream; |
73 import java.io.ObjectInputStream; | 70 import java.io.ObjectInputStream; |
74 import java.io.ObjectOutputStream; | 71 import java.io.ObjectOutputStream; |
75 import java.util.Arrays; | 72 import java.util.Arrays; |
76 import java.util.Collections; | 73 import java.util.Collections; |
77 import java.util.Iterator; | 74 import java.util.Iterator; |
78 import java.util.List; | 75 import java.util.List; |
| 76 import junit.framework.TestCase; |
79 | 77 |
80 /** | 78 /** |
81 * Unit test for generated messages and generated code. See also | 79 * Unit test for generated messages and generated code. See also |
82 * {@link MessageTest}, which tests some generated message functionality. | 80 * {@link MessageTest}, which tests some generated message functionality. |
83 * | 81 * |
84 * @author kenton@google.com Kenton Varda | 82 * @author kenton@google.com Kenton Varda |
85 */ | 83 */ |
86 public class GeneratedMessageTest extends TestCase { | 84 public class GeneratedMessageTest extends TestCase { |
87 TestUtil.ReflectionTester reflectionTester = | 85 TestUtil.ReflectionTester reflectionTester = |
88 new TestUtil.ReflectionTester(TestAllTypes.getDescriptor(), null); | 86 new TestUtil.ReflectionTester(TestAllTypes.getDescriptor(), null); |
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
965 TestAllTypes.NestedMessage nestedMessage1 = | 963 TestAllTypes.NestedMessage nestedMessage1 = |
966 TestAllTypes.NestedMessage.newBuilder().build(); | 964 TestAllTypes.NestedMessage.newBuilder().build(); |
967 TestAllTypes.NestedMessage nestedMessage2 = | 965 TestAllTypes.NestedMessage nestedMessage2 = |
968 TestAllTypes.NestedMessage.newBuilder().build(); | 966 TestAllTypes.NestedMessage.newBuilder().build(); |
969 | 967 |
970 // Set all three flavors (enum, primitive, message and singular/repeated) | 968 // Set all three flavors (enum, primitive, message and singular/repeated) |
971 // and verify no invalidations fired | 969 // and verify no invalidations fired |
972 TestUtil.MockBuilderParent mockParent = new TestUtil.MockBuilderParent(); | 970 TestUtil.MockBuilderParent mockParent = new TestUtil.MockBuilderParent(); |
973 | 971 |
974 TestAllTypes.Builder builder = (TestAllTypes.Builder) | 972 TestAllTypes.Builder builder = (TestAllTypes.Builder) |
975 ((GeneratedMessage) TestAllTypes.getDefaultInstance()). | 973 ((AbstractMessage) TestAllTypes.getDefaultInstance()). |
976 newBuilderForType(mockParent); | 974 newBuilderForType(mockParent); |
977 builder.setOptionalInt32(1); | 975 builder.setOptionalInt32(1); |
978 builder.setOptionalNestedEnum(TestAllTypes.NestedEnum.BAR); | 976 builder.setOptionalNestedEnum(TestAllTypes.NestedEnum.BAR); |
979 builder.setOptionalNestedMessage(nestedMessage1); | 977 builder.setOptionalNestedMessage(nestedMessage1); |
980 builder.addRepeatedInt32(1); | 978 builder.addRepeatedInt32(1); |
981 builder.addRepeatedNestedEnum(TestAllTypes.NestedEnum.BAR); | 979 builder.addRepeatedNestedEnum(TestAllTypes.NestedEnum.BAR); |
982 builder.addRepeatedNestedMessage(nestedMessage1); | 980 builder.addRepeatedNestedMessage(nestedMessage1); |
983 assertEquals(0, mockParent.getInvalidationCount()); | 981 assertEquals(0, mockParent.getInvalidationCount()); |
984 | 982 |
985 // Now tell it we want changes and make sure it's only fired once | 983 // Now tell it we want changes and make sure it's only fired once |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1020 builder.addRepeatedNestedMessage(nestedMessage2); | 1018 builder.addRepeatedNestedMessage(nestedMessage2); |
1021 builder.addRepeatedNestedMessage(nestedMessage1); | 1019 builder.addRepeatedNestedMessage(nestedMessage1); |
1022 assertEquals(6, mockParent.getInvalidationCount()); | 1020 assertEquals(6, mockParent.getInvalidationCount()); |
1023 | 1021 |
1024 } | 1022 } |
1025 | 1023 |
1026 public void testInvalidations_Extensions() throws Exception { | 1024 public void testInvalidations_Extensions() throws Exception { |
1027 TestUtil.MockBuilderParent mockParent = new TestUtil.MockBuilderParent(); | 1025 TestUtil.MockBuilderParent mockParent = new TestUtil.MockBuilderParent(); |
1028 | 1026 |
1029 TestAllExtensions.Builder builder = (TestAllExtensions.Builder) | 1027 TestAllExtensions.Builder builder = (TestAllExtensions.Builder) |
1030 ((GeneratedMessage) TestAllExtensions.getDefaultInstance()). | 1028 ((AbstractMessage) TestAllExtensions.getDefaultInstance()). |
1031 newBuilderForType(mockParent); | 1029 newBuilderForType(mockParent); |
1032 | 1030 |
1033 builder.addExtension(UnittestProto.repeatedInt32Extension, 1); | 1031 builder.addExtension(UnittestProto.repeatedInt32Extension, 1); |
1034 builder.setExtension(UnittestProto.repeatedInt32Extension, 0, 2); | 1032 builder.setExtension(UnittestProto.repeatedInt32Extension, 0, 2); |
1035 builder.clearExtension(UnittestProto.repeatedInt32Extension); | 1033 builder.clearExtension(UnittestProto.repeatedInt32Extension); |
1036 assertEquals(0, mockParent.getInvalidationCount()); | 1034 assertEquals(0, mockParent.getInvalidationCount()); |
1037 | 1035 |
1038 // Now tell it we want changes and make sure it's only fired once | 1036 // Now tell it we want changes and make sure it's only fired once |
1039 builder.buildPartial(); | 1037 builder.buildPartial(); |
1040 builder.addExtension(UnittestProto.repeatedInt32Extension, 2); | 1038 builder.addExtension(UnittestProto.repeatedInt32Extension, 2); |
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1667 } | 1665 } |
1668 try { | 1666 try { |
1669 builder.getRepeatedFieldBuilder( | 1667 builder.getRepeatedFieldBuilder( |
1670 descriptor.findFieldByName("optional_nested_message"), 0); | 1668 descriptor.findFieldByName("optional_nested_message"), 0); |
1671 fail("Exception was not thrown"); | 1669 fail("Exception was not thrown"); |
1672 } catch (UnsupportedOperationException e) { | 1670 } catch (UnsupportedOperationException e) { |
1673 // We expect this exception. | 1671 // We expect this exception. |
1674 } | 1672 } |
1675 } | 1673 } |
1676 } | 1674 } |
OLD | NEW |