@Test public void sortFromLeafToRootOrphanMailboxesShouldReturnInput() { Mailbox a = Mailbox.builder().name("A").id(A_ID).build(); Mailbox b = Mailbox.builder().name("B").id(B_ID).build(); Mailbox c = Mailbox.builder().name("C").id(C_ID).build(); ImmutableList<Mailbox> input = ImmutableList.of(a, b, c); List<String> result = sut.sortFromLeafToRoot(input).stream() .map(Mailbox::getName) .collect(Collectors.toList()); assertThat(result).containsExactly("C", "B", "A"); }
public List<T> sortFromLeafToRoot(Collection<T> elements) throws CycleDetectedException { return Lists.reverse(sortFromRootToLeaf(elements)); }
SortingHierarchicalCollections { public List<T> sortFromLeafToRoot(Collection<T> elements) throws CycleDetectedException { return Lists.reverse(sortFromRootToLeaf(elements)); } }
SortingHierarchicalCollections { public List<T> sortFromLeafToRoot(Collection<T> elements) throws CycleDetectedException { return Lists.reverse(sortFromRootToLeaf(elements)); } SortingHierarchicalCollections(Function<T, IdT> index,
                                  Function<T, Optional<IdT>> parentId); }
SortingHierarchicalCollections { public List<T> sortFromLeafToRoot(Collection<T> elements) throws CycleDetectedException { return Lists.reverse(sortFromRootToLeaf(elements)); } SortingHierarchicalCollections(Function<T, IdT> index,
                                  Function<T, Optional<IdT>> parentId); List<T> sortFromRootToLeaf(Collection<T> elements); List<T> sortFromLeafToRoot(Collection<T> elements); }
SortingHierarchicalCollections { public List<T> sortFromLeafToRoot(Collection<T> elements) throws CycleDetectedException { return Lists.reverse(sortFromRootToLeaf(elements)); } SortingHierarchicalCollections(Function<T, IdT> index,
                                  Function<T, Optional<IdT>> parentId); List<T> sortFromRootToLeaf(Collection<T> elements); List<T> sortFromLeafToRoot(Collection<T> elements);  }