@Override public Map<E, Long> apply(final Map<E, Long> mutatingSeed, final Map<E, Long> map) { for (final Map.Entry<E, Long> entry : map.entrySet()) { MapHelper.incr(mutatingSeed, entry.getKey(), entry.getValue()); } return mutatingSeed; }
public static <T> void checkResults(final List<T> expectedResults, final Traversal<?, T> traversal) { final List<T> results = traversal.toList(); assertThat(traversal.hasNext(), is(false)); if (expectedResults.size() != results.size()) { logger.error("Expected results: " + expectedResults); logger.error("Actual results: " + results); assertEquals("Checking result size", expectedResults.size(), results.size()); } for (T t : results) { if (t instanceof Map) { assertThat("Checking map result existence: " + t, expectedResults.stream().filter(e -> e instanceof Map).anyMatch(e -> internalCheckMap((Map) e, (Map) t)), is(true)); } else if (t instanceof List) { assertThat("Checking list result existence: " + t, expectedResults.stream().filter(e -> e instanceof List).anyMatch(e -> internalCheckList((List) e, (List) t)), is(true)); } else { assertThat("Checking result existence: " + t, expectedResults.contains(t), is(true)); } } final Map<T, Long> expectedResultsCount = new HashMap<>(); final Map<T, Long> resultsCount = new HashMap<>(); expectedResults.forEach(t -> MapHelper.incr(expectedResultsCount, t, 1L)); results.forEach(t -> MapHelper.incr(resultsCount, t, 1L)); assertEquals("Checking indexing is equivalent", expectedResultsCount.size(), resultsCount.size()); expectedResultsCount.forEach((k, v) -> assertEquals("Checking result group counts", v, resultsCount.get(k))); }
@Test @LoadGraphWith(MODERN) public void g_V_repeatXoutX_timesX2X_emit_path() { final List<Traversal<Vertex, Path>> traversals = new ArrayList<>(); traversals.add(get_g_V_repeatXoutX_timesX2X_emit_path()); traversals.forEach(traversal -> { printTraversalForm(traversal); final Map<Integer, Long> pathLengths = new HashMap<>(); int counter = 0; while (traversal.hasNext()) { counter++; MapHelper.incr(pathLengths, traversal.next().size(), 1l); } assertEquals(2, pathLengths.size()); assertEquals(8, counter); assertEquals(new Long(6), pathLengths.get(2)); assertEquals(new Long(2), pathLengths.get(3)); }); }
@Test @LoadGraphWith(MODERN) public void g_V_out_aggregateXaX_path() { final Traversal<Vertex, Path> traversal = get_g_V_out_aggregateXaX_path(); printTraversalForm(traversal); int count = 0; final Map<String, Long> firstStepCounts = new HashMap<>(); final Map<String, Long> secondStepCounts = new HashMap<>(); while (traversal.hasNext()) { count++; final Path path = traversal.next(); final String first = path.get(0).toString(); final String second = path.get(1).toString(); assertThat(first, not(second)); MapHelper.incr(firstStepCounts, first, 1l); MapHelper.incr(secondStepCounts, second, 1l); } assertEquals(6, count); assertEquals(3, firstStepCounts.size()); assertEquals(4, secondStepCounts.size()); assertTrue(firstStepCounts.values().contains(3l)); assertTrue(firstStepCounts.values().contains(2l)); assertTrue(firstStepCounts.values().contains(1l)); assertTrue(secondStepCounts.values().contains(3l)); assertTrue(secondStepCounts.values().contains(1l)); }
@Test @LoadGraphWith(MODERN) public void g_V_repeatXoutX_timesX2X_emit() { final Traversal<Vertex, Vertex> traversal = get_g_V_repeatXoutX_timesX2X_emit(); printTraversalForm(traversal); final Map<String, Long> map = new HashMap<>(); while (traversal.hasNext()) { final Vertex vertex = traversal.next(); MapHelper.incr(map, vertex.value("name"), 1l); } assertEquals(4, map.size()); assertTrue(map.containsKey("vadas")); assertTrue(map.containsKey("josh")); assertTrue(map.containsKey("ripple")); assertTrue(map.containsKey("lop")); assertEquals(new Long(1), map.get("vadas")); assertEquals(new Long(1), map.get("josh")); assertEquals(new Long(2), map.get("ripple")); assertEquals(new Long(4), map.get("lop")); }
@Test @LoadGraphWith(MODERN) public void g_VX1X_out_injectXv2X_name() { final Traversal<Vertex, String> traversal = get_g_VX1X_out_injectXv2X_name(convertToVertexId("marko"), convertToVertexId("vadas")); printTraversalForm(traversal); final Map<String, Long> counter = new HashMap<>(); while (traversal.hasNext()) { MapHelper.incr(counter, traversal.next(), 1l); } assertEquals(3, counter.size()); assertEquals(1l, counter.get("josh").longValue()); assertEquals(1l, counter.get("lop").longValue()); assertEquals(2l, counter.get("vadas").longValue()); assertFalse(traversal.hasNext()); }
@Test @LoadGraphWith(MODERN) public void g_V_chooseXout_countX_optionX2L__nameX_optionX3L__valueMapX() { final Traversal<Vertex, Object> traversal = get_g_V_chooseXout_countX_optionX2L__nameX_optionX3L__valueMapX(); printTraversalForm(traversal); final Map<String, Long> counts = new HashMap<>(); int counter = 0; while (traversal.hasNext()) { MapHelper.incr(counts, traversal.next().toString(), 1l); counter++; } assertFalse(traversal.hasNext()); assertEquals(2, counter); assertEquals(2, counts.size()); assertEquals(Long.valueOf(1), counts.get("{name=[marko], age=[29]}")); assertEquals(Long.valueOf(1), counts.get("josh")); }
@Test @LoadGraphWith(MODERN) public void g_V_matchXa_out_bX_selectXb_idX() throws Exception { final Traversal<Vertex, Object> traversal = get_g_V_matchXa_out_bX_selectXb_idX(); printTraversalForm(traversal); int counter = 0; final Object vadasId = convertToVertexId("vadas"); final Object joshId = convertToVertexId("josh"); final Object lopId = convertToVertexId("lop"); final Object rippleId = convertToVertexId("ripple"); Map<Object, Long> idCounts = new HashMap<>(); while (traversal.hasNext()) { counter++; MapHelper.incr(idCounts, traversal.next(), 1l); } assertFalse(traversal.hasNext()); assertEquals(idCounts.get(vadasId), Long.valueOf(1l)); assertEquals(idCounts.get(lopId), Long.valueOf(3l)); assertEquals(idCounts.get(joshId), Long.valueOf(1l)); assertEquals(idCounts.get(rippleId), Long.valueOf(1l)); assertEquals(6, counter); }
final Map<Serializable, Double> votes = new HashMap<>(); votes.put(vertex.value(this.property), vertex.<Double>value(VOTE_STRENGTH)); messenger.receiveMessages().forEachRemaining(message -> MapHelper.incr(votes, message.getValue0(), message.getValue1())); Serializable cluster = PeerPressureVertexProgram.largestCount(votes); if (null == cluster) cluster = (Serializable) vertex.id();
@Override public Map<E, Long> apply(final Map<E, Long> mutatingSeed, final Map<E, Long> map) { for (final Map.Entry<E, Long> entry : map.entrySet()) { MapHelper.incr(mutatingSeed, entry.getKey(), entry.getValue()); } return mutatingSeed; }
public static <T> void checkResults(final List<T> expectedResults, final Traversal<?, T> traversal) { final List<T> results = traversal.toList(); assertThat(traversal.hasNext(), is(false)); if (expectedResults.size() != results.size()) { logger.error("Expected results: " + expectedResults); logger.error("Actual results: " + results); assertEquals("Checking result size", expectedResults.size(), results.size()); } for (T t : results) { if (t instanceof Map) { assertThat("Checking map result existence: " + t, expectedResults.stream().filter(e -> e instanceof Map).anyMatch(e -> internalCheckMap((Map) e, (Map) t)), is(true)); } else if (t instanceof List) { assertThat("Checking list result existence: " + t, expectedResults.stream().filter(e -> e instanceof List).anyMatch(e -> internalCheckList((List) e, (List) t)), is(true)); } else { assertThat("Checking result existence: " + t, expectedResults.contains(t), is(true)); } } final Map<T, Long> expectedResultsCount = new HashMap<>(); final Map<T, Long> resultsCount = new HashMap<>(); expectedResults.forEach(t -> MapHelper.incr(expectedResultsCount, t, 1L)); results.forEach(t -> MapHelper.incr(resultsCount, t, 1L)); assertEquals("Checking indexing is equivalent", expectedResultsCount.size(), resultsCount.size()); expectedResultsCount.forEach((k, v) -> assertEquals("Checking result group counts", v, resultsCount.get(k))); }
@Test @LoadGraphWith(MODERN) public void g_V_out_aggregateXaX_path() { final Traversal<Vertex, Path> traversal = get_g_V_out_aggregateXaX_path(); printTraversalForm(traversal); int count = 0; final Map<String, Long> firstStepCounts = new HashMap<>(); final Map<String, Long> secondStepCounts = new HashMap<>(); while (traversal.hasNext()) { count++; final Path path = traversal.next(); final String first = path.get(0).toString(); final String second = path.get(1).toString(); assertThat(first, not(second)); MapHelper.incr(firstStepCounts, first, 1l); MapHelper.incr(secondStepCounts, second, 1l); } assertEquals(6, count); assertEquals(3, firstStepCounts.size()); assertEquals(4, secondStepCounts.size()); assertTrue(firstStepCounts.values().contains(3l)); assertTrue(firstStepCounts.values().contains(2l)); assertTrue(firstStepCounts.values().contains(1l)); assertTrue(secondStepCounts.values().contains(3l)); assertTrue(secondStepCounts.values().contains(1l)); }
@Test @LoadGraphWith(MODERN) public void g_V_repeatXoutX_timesX2X_emit_path() { final List<Traversal<Vertex, Path>> traversals = new ArrayList<>(); traversals.add(get_g_V_repeatXoutX_timesX2X_emit_path()); traversals.forEach(traversal -> { printTraversalForm(traversal); final Map<Integer, Long> pathLengths = new HashMap<>(); int counter = 0; while (traversal.hasNext()) { counter++; MapHelper.incr(pathLengths, traversal.next().size(), 1l); } assertEquals(2, pathLengths.size()); assertEquals(8, counter); assertEquals(new Long(6), pathLengths.get(2)); assertEquals(new Long(2), pathLengths.get(3)); }); }
@Test @LoadGraphWith(MODERN) public void g_V_chooseXout_countX_optionX2L__nameX_optionX3L__valueMapX() { final Traversal<Vertex, Object> traversal = get_g_V_chooseXout_countX_optionX2L__nameX_optionX3L__valueMapX(); printTraversalForm(traversal); final Map<String, Long> counts = new HashMap<>(); int counter = 0; while (traversal.hasNext()) { MapHelper.incr(counts, traversal.next().toString(), 1l); counter++; } assertFalse(traversal.hasNext()); assertEquals(2, counter); assertEquals(2, counts.size()); assertEquals(Long.valueOf(1), counts.get("{name=[marko], age=[29]}")); assertEquals(Long.valueOf(1), counts.get("josh")); }
@Test @LoadGraphWith(MODERN) public void g_V_repeatXoutX_timesX2X_emit() { final Traversal<Vertex, Vertex> traversal = get_g_V_repeatXoutX_timesX2X_emit(); printTraversalForm(traversal); final Map<String, Long> map = new HashMap<>(); while (traversal.hasNext()) { final Vertex vertex = traversal.next(); MapHelper.incr(map, vertex.value("name"), 1l); } assertEquals(4, map.size()); assertTrue(map.containsKey("vadas")); assertTrue(map.containsKey("josh")); assertTrue(map.containsKey("ripple")); assertTrue(map.containsKey("lop")); assertEquals(new Long(1), map.get("vadas")); assertEquals(new Long(1), map.get("josh")); assertEquals(new Long(2), map.get("ripple")); assertEquals(new Long(4), map.get("lop")); }
@Test @LoadGraphWith(MODERN) public void g_VX1X_out_injectXv2X_name() { final Traversal<Vertex, String> traversal = get_g_VX1X_out_injectXv2X_name(convertToVertexId("marko"), convertToVertexId("vadas")); printTraversalForm(traversal); final Map<String, Long> counter = new HashMap<>(); while (traversal.hasNext()) { MapHelper.incr(counter, traversal.next(), 1l); } assertEquals(3, counter.size()); assertEquals(1l, counter.get("josh").longValue()); assertEquals(1l, counter.get("lop").longValue()); assertEquals(2l, counter.get("vadas").longValue()); assertFalse(traversal.hasNext()); }
@Test @LoadGraphWith(MODERN) public void g_V_matchXa_out_bX_selectXb_idX() throws Exception { final Traversal<Vertex, Object> traversal = get_g_V_matchXa_out_bX_selectXb_idX(); printTraversalForm(traversal); int counter = 0; final Object vadasId = convertToVertexId("vadas"); final Object joshId = convertToVertexId("josh"); final Object lopId = convertToVertexId("lop"); final Object rippleId = convertToVertexId("ripple"); Map<Object, Long> idCounts = new HashMap<>(); while (traversal.hasNext()) { counter++; MapHelper.incr(idCounts, traversal.next(), 1l); } assertFalse(traversal.hasNext()); assertEquals(idCounts.get(vadasId), Long.valueOf(1l)); assertEquals(idCounts.get(lopId), Long.valueOf(3l)); assertEquals(idCounts.get(joshId), Long.valueOf(1l)); assertEquals(idCounts.get(rippleId), Long.valueOf(1l)); assertEquals(6, counter); }
final Map<Serializable, Double> votes = new HashMap<>(); votes.put(vertex.value(this.property), vertex.<Double>value(VOTE_STRENGTH)); messenger.receiveMessages().forEachRemaining(message -> MapHelper.incr(votes, message.getValue0(), message.getValue1())); Serializable cluster = PeerPressureVertexProgram.largestCount(votes); if (null == cluster) cluster = (Serializable) vertex.id();