org.mockito.internal.util.collections.Iterables Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mockito-core Show documentation
Show all versions of mockito-core Show documentation
Mockito mock objects library core API and implementation
/*
* Copyright (c) 2016 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.util.collections;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
/** Utilities for Iterables */
public final class Iterables {
/**
* Converts enumeration into iterable
*/
public static Iterable toIterable(Enumeration in) {
List out = new ArrayList();
while (in.hasMoreElements()) {
out.add(in.nextElement());
}
return out;
}
/**
* Returns first element of provided iterable or fails fast when iterable is empty.
*
* @param iterable non-empty iterable
* @return first element of supplied iterable
* @throws IllegalArgumentException when supplied iterable is empty
*/
public static T firstOf(Iterable iterable) {
Iterator iterator = iterable.iterator();
if (!iterator.hasNext()) {
throw new IllegalArgumentException(
"Cannot provide 1st element from empty iterable: " + iterable);
}
return iterator.next();
}
private Iterables() {}
}