diff options
Diffstat (limited to 'java/util/src/test/java/com/google/protobuf/util/FieldMaskUtilTest.java')
-rw-r--r-- | java/util/src/test/java/com/google/protobuf/util/FieldMaskUtilTest.java | 213 |
1 files changed, 0 insertions, 213 deletions
diff --git a/java/util/src/test/java/com/google/protobuf/util/FieldMaskUtilTest.java b/java/util/src/test/java/com/google/protobuf/util/FieldMaskUtilTest.java deleted file mode 100644 index 1a998570..00000000 --- a/java/util/src/test/java/com/google/protobuf/util/FieldMaskUtilTest.java +++ /dev/null @@ -1,213 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -package com.google.protobuf.util; - -import com.google.protobuf.FieldMask; -import protobuf_unittest.UnittestProto.NestedTestAllTypes; -import protobuf_unittest.UnittestProto.TestAllTypes; - -import junit.framework.TestCase; - -/** Unit tests for {@link FieldMaskUtil}. */ -public class FieldMaskUtilTest extends TestCase { - public void testIsValid() throws Exception { - assertTrue(FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload")); - assertFalse(FieldMaskUtil.isValid(NestedTestAllTypes.class, "nonexist")); - assertTrue(FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.optional_int32")); - assertTrue(FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.repeated_int32")); - assertTrue(FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.optional_nested_message")); - assertTrue(FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.repeated_nested_message")); - assertFalse(FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.nonexist")); - - assertTrue( - FieldMaskUtil.isValid(NestedTestAllTypes.class, FieldMaskUtil.fromString("payload"))); - assertFalse( - FieldMaskUtil.isValid(NestedTestAllTypes.class, FieldMaskUtil.fromString("nonexist"))); - assertFalse( - FieldMaskUtil.isValid( - NestedTestAllTypes.class, FieldMaskUtil.fromString("payload,nonexist"))); - - assertTrue(FieldMaskUtil.isValid(NestedTestAllTypes.getDescriptor(), "payload")); - assertFalse(FieldMaskUtil.isValid(NestedTestAllTypes.getDescriptor(), "nonexist")); - - assertTrue( - FieldMaskUtil.isValid( - NestedTestAllTypes.getDescriptor(), FieldMaskUtil.fromString("payload"))); - assertFalse( - FieldMaskUtil.isValid( - NestedTestAllTypes.getDescriptor(), FieldMaskUtil.fromString("nonexist"))); - - assertTrue( - FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.optional_nested_message.bb")); - // Repeated fields cannot have sub-paths. - assertFalse( - FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.repeated_nested_message.bb")); - // Non-message fields cannot have sub-paths. - assertFalse(FieldMaskUtil.isValid(NestedTestAllTypes.class, "payload.optional_int32.bb")); - } - - public void testToString() throws Exception { - assertEquals("", FieldMaskUtil.toString(FieldMask.getDefaultInstance())); - FieldMask mask = FieldMask.newBuilder().addPaths("foo").build(); - assertEquals("foo", FieldMaskUtil.toString(mask)); - mask = FieldMask.newBuilder().addPaths("foo").addPaths("bar").build(); - assertEquals("foo,bar", FieldMaskUtil.toString(mask)); - - // Empty field paths are ignored. - mask = - FieldMask.newBuilder() - .addPaths("") - .addPaths("foo") - .addPaths("") - .addPaths("bar") - .addPaths("") - .build(); - assertEquals("foo,bar", FieldMaskUtil.toString(mask)); - } - - public void testFromString() throws Exception { - FieldMask mask = FieldMaskUtil.fromString(""); - assertEquals(0, mask.getPathsCount()); - mask = FieldMaskUtil.fromString("foo"); - assertEquals(1, mask.getPathsCount()); - assertEquals("foo", mask.getPaths(0)); - mask = FieldMaskUtil.fromString("foo,bar.baz"); - assertEquals(2, mask.getPathsCount()); - assertEquals("foo", mask.getPaths(0)); - assertEquals("bar.baz", mask.getPaths(1)); - - // Empty field paths are ignore. - mask = FieldMaskUtil.fromString(",foo,,bar,"); - assertEquals(2, mask.getPathsCount()); - assertEquals("foo", mask.getPaths(0)); - assertEquals("bar", mask.getPaths(1)); - - // Check whether the field paths are valid if a class parameter is provided. - mask = FieldMaskUtil.fromString(NestedTestAllTypes.class, ",payload"); - - try { - mask = FieldMaskUtil.fromString(NestedTestAllTypes.class, "payload,nonexist"); - fail("Exception is expected."); - } catch (IllegalArgumentException e) { - // Expected. - } - } - - public void testFromFieldNumbers() throws Exception { - FieldMask mask = FieldMaskUtil.fromFieldNumbers(TestAllTypes.class); - assertEquals(0, mask.getPathsCount()); - mask = - FieldMaskUtil.fromFieldNumbers( - TestAllTypes.class, TestAllTypes.OPTIONAL_INT32_FIELD_NUMBER); - assertEquals(1, mask.getPathsCount()); - assertEquals("optional_int32", mask.getPaths(0)); - mask = - FieldMaskUtil.fromFieldNumbers( - TestAllTypes.class, - TestAllTypes.OPTIONAL_INT32_FIELD_NUMBER, - TestAllTypes.OPTIONAL_INT64_FIELD_NUMBER); - assertEquals(2, mask.getPathsCount()); - assertEquals("optional_int32", mask.getPaths(0)); - assertEquals("optional_int64", mask.getPaths(1)); - - try { - int invalidFieldNumber = 1000; - mask = FieldMaskUtil.fromFieldNumbers(TestAllTypes.class, invalidFieldNumber); - fail("Exception is expected."); - } catch (IllegalArgumentException expected) { - } - } - - public void testToJsonString() throws Exception { - FieldMask mask = FieldMask.getDefaultInstance(); - assertEquals("", FieldMaskUtil.toJsonString(mask)); - mask = FieldMask.newBuilder().addPaths("foo").build(); - assertEquals("foo", FieldMaskUtil.toJsonString(mask)); - mask = FieldMask.newBuilder().addPaths("foo.bar_baz").addPaths("").build(); - assertEquals("foo.barBaz", FieldMaskUtil.toJsonString(mask)); - mask = FieldMask.newBuilder().addPaths("foo").addPaths("bar_baz").build(); - assertEquals("foo,barBaz", FieldMaskUtil.toJsonString(mask)); - } - - public void testFromJsonString() throws Exception { - FieldMask mask = FieldMaskUtil.fromJsonString(""); - assertEquals(0, mask.getPathsCount()); - mask = FieldMaskUtil.fromJsonString("foo"); - assertEquals(1, mask.getPathsCount()); - assertEquals("foo", mask.getPaths(0)); - mask = FieldMaskUtil.fromJsonString("foo.barBaz"); - assertEquals(1, mask.getPathsCount()); - assertEquals("foo.bar_baz", mask.getPaths(0)); - mask = FieldMaskUtil.fromJsonString("foo,barBaz"); - assertEquals(2, mask.getPathsCount()); - assertEquals("foo", mask.getPaths(0)); - assertEquals("bar_baz", mask.getPaths(1)); - } - - public void testUnion() throws Exception { - // Only test a simple case here and expect - // {@link FieldMaskTreeTest#testAddFieldPath} to cover all scenarios. - FieldMask mask1 = FieldMaskUtil.fromString("foo,bar.baz,bar.quz"); - FieldMask mask2 = FieldMaskUtil.fromString("foo.bar,bar"); - FieldMask result = FieldMaskUtil.union(mask1, mask2); - assertEquals("bar,foo", FieldMaskUtil.toString(result)); - } - - public void testUnion_usingVarArgs() throws Exception { - FieldMask mask1 = FieldMaskUtil.fromString("foo"); - FieldMask mask2 = FieldMaskUtil.fromString("foo.bar,bar.quz"); - FieldMask mask3 = FieldMaskUtil.fromString("bar.quz"); - FieldMask mask4 = FieldMaskUtil.fromString("bar"); - FieldMask result = FieldMaskUtil.union(mask1, mask2, mask3, mask4); - assertEquals("bar,foo", FieldMaskUtil.toString(result)); - } - - public void testIntersection() throws Exception { - // Only test a simple case here and expect - // {@link FieldMaskTreeTest#testIntersectFieldPath} to cover all scenarios. - FieldMask mask1 = FieldMaskUtil.fromString("foo,bar.baz,bar.quz"); - FieldMask mask2 = FieldMaskUtil.fromString("foo.bar,bar"); - FieldMask result = FieldMaskUtil.intersection(mask1, mask2); - assertEquals("bar.baz,bar.quz,foo.bar", FieldMaskUtil.toString(result)); - } - - public void testMerge() throws Exception { - // Only test a simple case here and expect - // {@link FieldMaskTreeTest#testMerge} to cover all scenarios. - NestedTestAllTypes source = - NestedTestAllTypes.newBuilder() - .setPayload(TestAllTypes.newBuilder().setOptionalInt32(1234)) - .build(); - NestedTestAllTypes.Builder builder = NestedTestAllTypes.newBuilder(); - FieldMaskUtil.merge(FieldMaskUtil.fromString("payload"), source, builder); - assertEquals(1234, builder.getPayload().getOptionalInt32()); - } -} |