This is an automated email from the ASF dual-hosted git repository.

okram pushed a commit to branch tp4
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/tp4 by this push:
     new 9b765b0  added PathTest and converted lots of list and set creations 
to List.of and Set.of
9b765b0 is described below

commit 9b765b034182432048d310d5b59d0f72d52d7f63
Author: Marko A. Rodriguez <okramma...@gmail.com>
AuthorDate: Sun Mar 24 16:01:42 2019 -0600

    added PathTest and converted lots of list and set creations to List.of and 
Set.of
---
 .../tinkerpop/machine/function/map/PathMap.java    |   2 +-
 .../machine/traverser/path/BasicPath.java          |  17 ++-
 .../tinkerpop/machine/traverser/path/PathTest.java | 128 +++++++++++++++++++++
 .../machine/processor/beam/BeamProcessor.java      |   4 +-
 .../tinkerpop/machine/processor/beam/BeamTest.java |   6 +-
 .../machine/processor/pipes/PipesProcessor.java    |   4 +-
 .../machine/processor/pipes/PipesTest.java         |  10 +-
 .../structure/blueprints/BlueprintsStructure.java  |   5 +-
 8 files changed, 155 insertions(+), 21 deletions(-)

diff --git 
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/map/PathMap.java
 
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/map/PathMap.java
index 6628a8a..3f09029 100644
--- 
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/map/PathMap.java
+++ 
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/function/map/PathMap.java
@@ -61,7 +61,7 @@ public final class PathMap<C, S> extends AbstractFunction<C> 
implements MapFunct
             final Path newPath = new BasicPath();
             if (this.hasPathLabels) {
                 for (final String label : this.pathLabels) {
-                    newPath.add(Collections.singleton(label), 
this.byCompilations.process(oldPath.get(Path.Pop.last, label)));
+                    newPath.add(Set.of(label), 
this.byCompilations.process(oldPath.get(Path.Pop.last, label)));
                 }
             } else {
                 for (int i = 0; i < oldPath.size(); i++) {
diff --git 
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/path/BasicPath.java
 
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/path/BasicPath.java
index cbf8a7a..a3583f9 100644
--- 
a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/path/BasicPath.java
+++ 
b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/path/BasicPath.java
@@ -34,11 +34,6 @@ public final class BasicPath implements Path {
     public BasicPath() {
     }
 
-    public BasicPath(final BasicPath path) {
-        this.objects.addAll(path.objects);
-        this.labels.addAll(path.labels);
-    }
-
     @Override
     public void add(final Set<String> labels, final Object object) {
         this.labels.add(labels);
@@ -84,6 +79,18 @@ public final class BasicPath implements Path {
     }
 
     @Override
+    public int hashCode() {
+        return this.labels.hashCode() ^ this.objects.hashCode();
+    }
+
+    @Override
+    public boolean equals(final Object object) {
+        return object instanceof BasicPath &&
+                this.labels.equals(((BasicPath) object).labels) &&
+                this.objects.equals(((BasicPath) object).objects);
+    }
+
+    @Override
     public String toString() {
         return this.objects.toString();
     }
diff --git 
a/java/machine/machine-core/src/test/java/org/apache/tinkerpop/machine/traverser/path/PathTest.java
 
b/java/machine/machine-core/src/test/java/org/apache/tinkerpop/machine/traverser/path/PathTest.java
new file mode 100644
index 0000000..7424fd4
--- /dev/null
+++ 
b/java/machine/machine-core/src/test/java/org/apache/tinkerpop/machine/traverser/path/PathTest.java
@@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.machine.traverser.path;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.List;
+import java.util.Set;
+import java.util.function.Supplier;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+class PathTest {
+
+    private static List<Supplier<Path>> PATH_SUPPLIERS = 
List.of(BasicPath::new);
+
+    @Test
+    void testPathMethods() {
+        PATH_SUPPLIERS.forEach(pathSupplier -> {
+            final Path a = pathSupplier.get();
+            final Path b = pathSupplier.get();
+            assertEquals(a, b);
+            assertEquals(a.hashCode(), b.hashCode());
+            assertEquals(0, a.size());
+            assertEquals(0, b.size());
+            ///
+            a.add(Set.of("step1"), 1);
+            assertNotEquals(a, b);
+            assertEquals(1, a.size());
+            assertEquals(0, b.size());
+            ///
+            b.add(Set.of("step1"), 1);
+            assertEquals(a, b);
+            assertEquals(1, a.size());
+            assertEquals(1, b.size());
+            ///
+            a.add(Set.of("step2", "step3"), 2);
+            b.add(Set.of("step2"), 22);
+            assertNotEquals(a, b);
+            assertEquals(2, a.size());
+            assertEquals(2, b.size());
+            ///
+            a.add(Set.of("step3"), 3);
+            b.add(Set.of("step3"), 33);
+            assertNotEquals(a, b);
+            assertEquals(3, a.size());
+            assertEquals(3, b.size());
+            ///
+            assertEquals(1, a.get(Path.Pop.first, "step1"));
+            assertEquals(1, b.get(Path.Pop.first, "step1"));
+            assertEquals(1, a.get(Path.Pop.last, "step1"));
+            assertEquals(1, b.get(Path.Pop.last, "step1"));
+            assertEquals(List.of(1), a.get(Path.Pop.all, "step1"));
+            assertEquals(List.of(1), b.get(Path.Pop.all, "step1"));
+            ///
+            assertEquals(2, a.get(Path.Pop.first, "step2"));
+            assertEquals(22, b.get(Path.Pop.first, "step2"));
+            assertEquals(2, a.get(Path.Pop.last, "step2"));
+            assertEquals(22, b.get(Path.Pop.last, "step2"));
+            assertEquals(List.of(2), a.get(Path.Pop.all, "step2"));
+            assertEquals(List.of(22), b.get(Path.Pop.all, "step2"));
+            ///
+            assertEquals(2, a.get(Path.Pop.first, "step3"));
+            assertEquals(33, b.get(Path.Pop.first, "step3"));
+            assertEquals(3, a.get(Path.Pop.last, "step3"));
+            assertEquals(33, b.get(Path.Pop.last, "step3"));
+            assertEquals(List.of(2, 3), a.get(Path.Pop.all, "step3"));
+            assertEquals(List.of(33), b.get(Path.Pop.all, "step3"));
+            ///
+            final Set<String> labels = Set.of("step4");
+            a.add(labels, 4);
+            b.add(labels, 4);
+            assertNotEquals(a, b);
+            assertEquals(4, a.size());
+            assertEquals(4, b.size());
+        });
+    }
+
+    @Test
+    void testObjectMethods() {
+        PATH_SUPPLIERS.forEach(pathSupplier -> {
+            final Path a = pathSupplier.get();
+            final Path b = a.clone();
+            assertEquals(a, b);
+            assertEquals(a.hashCode(), b.hashCode());
+            a.add(Set.of("step1"), 1);
+            b.add(Set.of("step1"), 1);
+            assertEquals(a, b);
+            assertEquals(a.hashCode(), b.hashCode());
+            assertEquals(1, a.size());
+            assertEquals(1, b.size());
+            b.add(Set.of("step2"), 2);
+            assertNotEquals(a, b);
+            assertNotEquals(a.hashCode(), b.hashCode());
+            assertEquals(1, a.size());
+            assertEquals(2, b.size());
+            final Path c = b.clone();
+            assertEquals(b, c);
+            assertNotEquals(a, c);
+            c.add(Set.of("step3"), 3);
+            assertNotEquals(b, c);
+            assertNotEquals(a, c);
+            assertEquals(1, a.size());
+            assertEquals(2, b.size());
+            assertEquals(3, c.size());
+        });
+    }
+}
diff --git 
a/java/machine/processor/beam/src/main/java/org/apache/tinkerpop/machine/processor/beam/BeamProcessor.java
 
b/java/machine/processor/beam/src/main/java/org/apache/tinkerpop/machine/processor/beam/BeamProcessor.java
index 305b866..87d3481 100644
--- 
a/java/machine/processor/beam/src/main/java/org/apache/tinkerpop/machine/processor/beam/BeamProcessor.java
+++ 
b/java/machine/processor/beam/src/main/java/org/apache/tinkerpop/machine/processor/beam/BeamProcessor.java
@@ -37,7 +37,7 @@ import java.util.Set;
  */
 public class BeamProcessor implements ProcessorFactory {
 
-    private static final List<BytecodeCompiler> COMPILERS = 
Arrays.asList(CoreCompiler.instance(), CommonCompiler.instance());
+    private static final List<BytecodeCompiler> COMPILERS = 
List.of(CoreCompiler.instance(), CommonCompiler.instance());
 
     @Override
     public <C, S, E> Processor<C, S, E> mint(final Compilation<C, S, E> 
compilation) {
@@ -46,7 +46,7 @@ public class BeamProcessor implements ProcessorFactory {
 
     @Override
     public Set<Strategy<?>> getStrategies() {
-        return Collections.singleton(new BeamStrategy());
+        return Set.of(new BeamStrategy());
     }
 
     @Override
diff --git 
a/java/machine/processor/beam/src/test/java/org/apache/tinkerpop/machine/processor/beam/BeamTest.java
 
b/java/machine/processor/beam/src/test/java/org/apache/tinkerpop/machine/processor/beam/BeamTest.java
index 4de0f21..6838142 100644
--- 
a/java/machine/processor/beam/src/test/java/org/apache/tinkerpop/machine/processor/beam/BeamTest.java
+++ 
b/java/machine/processor/beam/src/test/java/org/apache/tinkerpop/machine/processor/beam/BeamTest.java
@@ -29,7 +29,7 @@ import 
org.apache.tinkerpop.machine.strategy.optimization.IdentityStrategy;
 import org.apache.tinkerpop.machine.structure.blueprints.BlueprintsStructure;
 import org.junit.jupiter.api.Test;
 
-import java.util.Arrays;
+import java.util.List;
 
 import static org.apache.tinkerpop.language.gremlin.core.__.constant;
 import static org.apache.tinkerpop.language.gremlin.core.__.incr;
@@ -68,12 +68,12 @@ public class BeamTest {
                 .withProcessor(BeamProcessor.class)
                 .withStrategy(IdentityStrategy.class);
 
-        Traversal<Long, ?, ?> traversal = g.inject(Arrays.asList(1L, 
1L)).<Long>unfold().map(incr()).c(4L).repeat(incr()).until(__.is(__.constant(8L).incr().incr())).sum();
+        Traversal<Long, ?, ?> traversal = g.inject(List.of(1L, 
1L)).<Long>unfold().map(incr()).c(4L).repeat(incr()).until(__.is(__.constant(8L).incr().incr())).sum();
         System.out.println(TraversalUtil.getBytecode(traversal));
         System.out.println(traversal);
         System.out.println(traversal.toList());
         System.out.println("\n----------\n");
-        traversal = g.inject(Arrays.asList(1L, 
2L)).<Long>unfold().map(incr()).is(P.lt(constant(3L)));
+        traversal = g.inject(List.of(1L, 
2L)).<Long>unfold().map(incr()).is(P.lt(constant(3L)));
         System.out.println(TraversalUtil.getBytecode(traversal));
         System.out.println(traversal);
         System.out.println(traversal.toList());
diff --git 
a/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/PipesProcessor.java
 
b/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/PipesProcessor.java
index 7ceb8e0..fa4890c 100644
--- 
a/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/PipesProcessor.java
+++ 
b/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/PipesProcessor.java
@@ -37,7 +37,7 @@ import java.util.Set;
  */
 public final class PipesProcessor implements ProcessorFactory {
 
-    private static final List<BytecodeCompiler> COMPILERS = 
Arrays.asList(CoreCompiler.instance(), CommonCompiler.instance());
+    private static final List<BytecodeCompiler> COMPILERS = 
List.of(CoreCompiler.instance(), CommonCompiler.instance());
 
     public PipesProcessor() {
     }
@@ -49,7 +49,7 @@ public final class PipesProcessor implements ProcessorFactory 
{
 
     @Override
     public Set<Strategy<?>> getStrategies() {
-        return Collections.singleton(new PipesStrategy());
+        return Set.of(new PipesStrategy());
     }
 
     @Override
diff --git 
a/java/machine/processor/pipes/src/test/java/org/apache/tinkerpop/machine/processor/pipes/PipesTest.java
 
b/java/machine/processor/pipes/src/test/java/org/apache/tinkerpop/machine/processor/pipes/PipesTest.java
index e39b7ee..60f5720 100644
--- 
a/java/machine/processor/pipes/src/test/java/org/apache/tinkerpop/machine/processor/pipes/PipesTest.java
+++ 
b/java/machine/processor/pipes/src/test/java/org/apache/tinkerpop/machine/processor/pipes/PipesTest.java
@@ -63,12 +63,12 @@ public class PipesTest {
                 .withProcessor(PipesProcessor.class)
                 .withStrategy(IdentityStrategy.class);
 
-        Traversal<Long, ?, ?> traversal = g.inject(Arrays.asList(1L, 
1L)).<Long>unfold().map(incr()).c(4L).repeat(incr()).until(__.is(__.constant(8L).incr().incr())).sum();
+        Traversal<Long, ?, ?> traversal = g.inject(List.of(1L, 
1L)).<Long>unfold().map(incr()).c(4L).repeat(incr()).until(__.is(__.constant(8L).incr().incr())).sum();
         System.out.println(TraversalUtil.getBytecode(traversal));
         System.out.println(traversal);
         System.out.println(traversal.toList());
         System.out.println("\n----------\n");
-        traversal = g.inject(Arrays.asList(1L, 
2L)).unfold().is(P.lt(__.constant(2L))).groupCount().by(__.incr());
+        traversal = g.inject(List.of(1L, 
2L)).unfold().is(P.lt(__.constant(2L))).groupCount().by(__.incr());
         System.out.println(TraversalUtil.getBytecode(traversal));
         System.out.println(traversal);
         System.out.println(traversal.toList());
@@ -103,7 +103,7 @@ public class PipesTest {
         System.out.println(traversal);
         System.out.println(traversal.toList());
         System.out.println("\n----------\n");
-        traversal = g.inject(Arrays.asList(7L, 8L, 
9L)).<Long>unfold().choose(__.is(7L), __.incr(), __.<Long>incr().incr());
+        traversal = g.inject(List.of(7L, 8L, 
9L)).<Long>unfold().choose(__.is(7L), __.incr(), __.<Long>incr().incr());
         System.out.println(TraversalUtil.getBytecode(traversal));
         System.out.println(traversal);
         System.out.println(traversal.toList());
@@ -129,13 +129,13 @@ public class PipesTest {
                 .withProcessor(PipesProcessor.class)
                 .withStrategy(IdentityStrategy.class);
 
-        List<Map<String, Object>> listA = Arrays.asList(
+        List<Map<String, Object>> listA = List.of(
                 Map.of("name", "marko", "age", 29),
                 Map.of("name", "josh", "age", 32),
                 Map.of("name", "peter", "age", 35),
                 Map.of("name", "vadas", "age", 27));
 
-        List<Map<String, Object>> listB = Arrays.asList(
+        List<Map<String, Object>> listB = List.of(
                 Map.of("name", "marko", "city", "santa fe"),
                 Map.of("name", "marko", "city", "santa cruz"),
                 Map.of("name", "josh", "city", "san jose"),
diff --git 
a/java/machine/structure/blueprints/src/main/java/org/apache/tinkerpop/machine/structure/blueprints/BlueprintsStructure.java
 
b/java/machine/structure/blueprints/src/main/java/org/apache/tinkerpop/machine/structure/blueprints/BlueprintsStructure.java
index 2e4f2c9..144439c 100644
--- 
a/java/machine/structure/blueprints/src/main/java/org/apache/tinkerpop/machine/structure/blueprints/BlueprintsStructure.java
+++ 
b/java/machine/structure/blueprints/src/main/java/org/apache/tinkerpop/machine/structure/blueprints/BlueprintsStructure.java
@@ -25,7 +25,6 @@ import 
org.apache.tinkerpop.machine.structure.StructureFactory;
 import 
org.apache.tinkerpop.machine.structure.blueprints.bytecode.compiler.BlueprintsCompiler;
 import 
org.apache.tinkerpop.machine.structure.blueprints.strategy.provider.BlueprintsVerticesStrategy;
 
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -35,7 +34,7 @@ import java.util.Set;
  */
 public class BlueprintsStructure implements StructureFactory {
 
-    private static final List<BytecodeCompiler> COMPILERS = 
Collections.singletonList(BlueprintsCompiler.instance());
+    private static final List<BytecodeCompiler> COMPILERS = 
List.of(BlueprintsCompiler.instance());
 
     @Override
     public Structure mint(final Map<String, Object> configuration) {
@@ -44,7 +43,7 @@ public class BlueprintsStructure implements StructureFactory {
 
     @Override
     public Set<Strategy<?>> getStrategies() {
-        return Collections.singleton(new BlueprintsVerticesStrategy());
+        return Set.of(new BlueprintsVerticesStrategy());
     }
 
     @Override

Reply via email to