@Test public void map_sorted() { Map<Integer, Group> results = MAP_RESULTS.transform( groupBy(postId).as(postName, sortedMap(commentId, commentText))); Group group = results.get(1); Iterator<Map.Entry<Integer, String>> it = group.getMap(commentId, commentText).entrySet().iterator(); assertEquals(1, it.next().getKey().intValue()); assertEquals(2, it.next().getKey().intValue()); assertEquals(3, it.next().getKey().intValue()); }
@Test public void map_sorted_reverse() { Map<Integer, Group> results = MAP_RESULTS.transform( groupBy(postId).as(postName, sortedMap(commentId, commentText, Ordering.natural().reverse()))); Group group = results.get(1); Iterator<Map.Entry<Integer, String>> it = group.getMap(commentId, commentText).entrySet().iterator(); assertEquals(3, it.next().getKey().intValue()); assertEquals(2, it.next().getKey().intValue()); assertEquals(1, it.next().getKey().intValue()); }
@Test public void map1() { List<Group> results = MAP_RESULTS.transform( groupBy(postId).list(postName, map(commentId, commentText))); assertEquals(4, results.size()); Group group = results.get(1); Map<Integer, String> comments = group.getMap(commentId, commentText); assertEquals(3, comments.size()); assertEquals("comment 2", comments.get(2)); }
@Test public void map1() { Map<Integer, Group> results = MAP_RESULTS.transform( groupBy(postId).as(postName, map(commentId, commentText))); Group group = results.get(1); Map<Integer, String> comments = group.getMap(commentId, commentText); assertEquals(3, comments.size()); assertEquals("comment 2", comments.get(2)); }
@Test public void map1() { CloseableIterator<Group> resultsIt = MAP_RESULTS.transform( groupBy(postId).iterate(postName, map(commentId, commentText))); List<Group> results = IteratorAdapter.asList(resultsIt); assertEquals(4, results.size()); Group group = results.get(1); Map<Integer, String> comments = group.getMap(commentId, commentText); assertEquals(3, comments.size()); assertEquals("comment 2", comments.get(2)); }
@Test public void groupBy_superior() { SQLQuery<?> qry = query() .from(employee) .innerJoin(employee._superiorIdKey, employee2); QTuple subordinates = Projections.tuple(employee2.id, employee2.firstname, employee2.lastname); Map<Integer, Group> results = qry.transform( GroupBy.groupBy(employee.id).as(employee.firstname, employee.lastname, GroupBy.map(employee2.id, subordinates))); assertEquals(2, results.size()); // Mike Smith Group group = results.get(1); assertEquals("Mike", group.getOne(employee.firstname)); assertEquals("Smith", group.getOne(employee.lastname)); Map<Integer, Tuple> emps = group.getMap(employee2.id, subordinates); assertEquals(4, emps.size()); assertEquals("Steve", emps.get(12).get(employee2.firstname)); // Mary Smith group = results.get(2); assertEquals("Mary", group.getOne(employee.firstname)); assertEquals("Smith", group.getOne(employee.lastname)); emps = group.getMap(employee2.id, subordinates); assertEquals(4, emps.size()); assertEquals("Mason", emps.get(21).get(employee2.lastname)); }