summaryrefslogtreecommitdiff
path: root/java/util/src/test/java/com/google/protobuf/util/FieldMaskUtilTest.java
diff options
context:
space:
mode:
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.java213
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());
- }
-}