@Test
 public void shouldConvertToJavaStream() {
   final Value<Integer> value = of(1, 2, 3);
   final java.util.stream.Stream<Integer> s1 = value.toJavaStream();
   if (value.isSingleValued()) {
     final java.util.stream.Stream<Integer> s2 = java.util.stream.Stream.of(1);
     assertThat(List.ofAll(s1::iterator)).isEqualTo(List.ofAll(s2::iterator));
   } else {
     final java.util.stream.Stream<Integer> s2 = java.util.stream.Stream.of(1, 2, 3);
     assertThat(List.ofAll(s1::iterator)).isEqualTo(List.ofAll(s2::iterator));
   }
 }
Exemple #2
1
 @Test
 public void shouldAcceptNavigableSet() {
   java.util.TreeSet<Integer> javaSet = new java.util.TreeSet<>();
   javaSet.add(2);
   javaSet.add(1);
   assertThat(List.ofAll(javaSet)).isEqualTo(List.of(1, 2));
 }
Exemple #3
1
 /**
  * Creates a Tree of the given elements.
  *
  * <p>If the given iterable is a tree, it is returned as result. if the iteration order of the
  * elements is stable.
  *
  * @param <T> Component type of the List.
  * @param iterable An Iterable of elements.
  * @return A list containing the given elements in the same order.
  * @throws NullPointerException if {@code elements} is null
  */
 @SuppressWarnings("unchecked")
 static <T> Tree<T> ofAll(Iterable<? extends T> iterable) {
   Objects.requireNonNull(iterable, "iterable is null");
   if (iterable instanceof Tree) {
     return (Tree<T>) iterable;
   } else {
     final List<T> list = List.ofAll(iterable);
     return list.isEmpty() ? Empty.instance() : new Node<>(list.head(), list.tail().map(Tree::of));
   }
 }
 @Override
 protected PriorityQueue<Integer> ofAll(int[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
 @Override
 protected PriorityQueue<Float> ofAll(float[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
 @Override
 protected PriorityQueue<Double> ofAll(double[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
 @Override
 protected PriorityQueue<Character> ofAll(char[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
 @Override
 protected PriorityQueue<Byte> ofAll(byte[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
 @Override
 protected PriorityQueue<Boolean> ofAll(boolean[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
Exemple #10
1
 @Override
 protected List<Byte> ofAll(byte[] array) {
   return List.ofAll(array);
 }
Exemple #11
1
 @Override
 protected List<Short> ofAll(short[] array) {
   return List.ofAll(array);
 }
Exemple #12
1
 @Override
 protected List<Integer> ofAll(int[] array) {
   return List.ofAll(array);
 }
Exemple #13
1
 @Override
 protected List<Long> ofAll(long[] array) {
   return List.ofAll(array);
 }
Exemple #14
1
 @Override
 protected List<Float> ofAll(float[] array) {
   return List.ofAll(array);
 }
Exemple #15
1
 @Override
 protected List<Double> ofAll(double[] array) {
   return List.ofAll(array);
 }
Exemple #16
1
 @Override
 protected List<Character> ofAll(char[] array) {
   return List.ofAll(array);
 }
 @Override
 protected PriorityQueue<Long> ofAll(long[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
Exemple #18
1
 @Override
 protected <T> List<T> ofAll(Iterable<? extends T> elements) {
   return List.ofAll(elements);
 }
 @Override
 protected PriorityQueue<Short> ofAll(short[] array) {
   return PriorityQueue.ofAll(List.ofAll(array));
 }
Exemple #20
1
 @Override
 protected List<Boolean> ofAll(boolean[] array) {
   return List.ofAll(array);
 }
Exemple #21
1
 /**
  * Returns a new Node containing the given value and having the given children.
  *
  * @param value A value
  * @param children The child nodes, possibly empty
  * @param <T> Value type
  * @return A new Node instance.
  */
 static <T> Node<T> of(T value, Iterable<Node<T>> children) {
   Objects.requireNonNull(children, "children is null");
   return new Node<>(value, List.ofAll(children));
 }
Exemple #22
1
 /**
  * Tests if this TraversableOnce contains all given elements.
  *
  * <p>The result is equivalent to {@code elements.isEmpty() ? true : contains(elements.head()) &&
  * containsAll(elements.tail())} but implemented without recursion.
  *
  * @param elements A List of values of type T.
  * @return true, if this List contains all given elements, false otherwise.
  * @throws NullPointerException if {@code elements} is null
  */
 default boolean containsAll(java.lang.Iterable<? extends T> elements) {
   Objects.requireNonNull(elements, "elements is null");
   return List.ofAll(elements).distinct().findFirst(e -> !this.contains(e)).isEmpty();
 }