From 968150327d7bb45601702e60ab6d0073ccfecd7e Mon Sep 17 00:00:00 2001 From: Jisi Liu Date: Thu, 19 Feb 2015 10:26:25 -0800 Subject: partial oneof tests. --- .../java/com/google/protobuf/nano/NanoTest.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/javanano/src/test/java/com/google/protobuf/nano/NanoTest.java b/javanano/src/test/java/com/google/protobuf/nano/NanoTest.java index feb3054f..6e3d3655 100644 --- a/javanano/src/test/java/com/google/protobuf/nano/NanoTest.java +++ b/javanano/src/test/java/com/google/protobuf/nano/NanoTest.java @@ -3639,6 +3639,44 @@ public class NanoTest extends TestCase { assertEquals(6, map.size()); } + private void checkOneofCase(TestAllTypesNano nano, int field) + throws Exception { + assertEquals(field, nano.getOneofFieldCase()); + assertEquals( + field == TestAllTypesNano.ONEOF_BYTES_FIELD_NUMBER, + nano.hasOneofBytes()); + assertEquals( + field == TestAllTypesNano.ONEOF_ENUM_FIELD_NUMBER, + nano.hasOneofEnum()); + assertEquals( + field == TestAllTypesNano.ONEOF_FIXED64_FIELD_NUMBER, + nano.hasOneofFixed64()); + assertEquals( + field == TestAllTypesNano.ONEOF_NESTED_MESSAGE_FIELD_NUMBER, + nano.hasOneofNestedMessage()); + assertEquals( + field == TestAllTypesNano.ONEOF_STRING_FIELD_NUMBER, + nano.hasOneofString()); + assertEquals( + field == TestAllTypesNano.ONEOF_UINT32_FIELD_NUMBER, + nano.hasOneofUint32()); + + } + + public void testOneofBasic() throws Exception { + TestAllTypesNano m1 = new TestAllTypesNano(); + checkOneofCase(m1, 0); + + m1.setOneofString("hello"); + checkOneofCase(m1, TestAllTypesNano.ONEOF_STRING_FIELD_NUMBER); + + TestAllTypesNano m2 = new TestAllTypesNano(); + m2.setOneofEnum(TestAllTypesNano.BAZ); + assertTrue(m2.hasOneofEnum()); + assertEquals( + TestAllTypesNano.ONEOF_ENUM_FIELD_NUMBER, m2.getOneofFieldCase()); + } + public void testNullRepeatedFields() throws Exception { // Check that serialization after explicitly setting a repeated field // to null doesn't NPE. -- cgit v1.2.3