finished first cookbook - examples

This commit is contained in:
Eugen Paraschiv 2013-10-23 12:13:43 +03:00
parent 9c3db85018
commit be8ac5daa5

View File

@ -5,6 +5,7 @@ import static org.junit.Assert.assertTrue;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
@ -12,10 +13,16 @@ import org.junit.Test;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@SuppressWarnings("unused")
public class GuavaCollectionsExamplesTest {
// tests
@ -96,7 +103,7 @@ public class GuavaCollectionsExamplesTest {
//
@Test(expected = NoSuchElementException.class)
public final void givenNoSearchResult_whenFindingElementInIterable_thenNoException() {
public final void givenNoSearchResult_whenFindingElementInIterable_thenException() {
final Iterable<String> theCollection = Sets.newHashSet("abcd", "efgh", "ijkl");
final String found = Iterables.find(theCollection, new Predicate<String>() {
@ -109,4 +116,61 @@ public class GuavaCollectionsExamplesTest {
assertNull(found);
}
@Test
public final void givenNoSearchResult_whenFindingElementInIterableWithSpecifiedReturn_thenNoException() {
final Iterable<String> theCollection = Sets.newHashSet("abcd", "efgh", "ijkl");
final Predicate<String> inputOfLengthOne = new Predicate<String>() {
@Override
public final boolean apply(final String input) {
return input.length() == 1;
}
};
final String found = Iterables.find(theCollection, inputOfLengthOne, null);
assertNull(found);
}
// purge of nulls
@Test
public final void givenListContainsNulls_whenPurgedOfNulls_thenNoLongerContainsNulls() {
final List<String> values = Lists.newArrayList("a", null, "b", "c");
final Iterable<String> withoutNulls = Iterables.filter(values, Predicates.notNull());
System.out.println(withoutNulls);
}
// immutable collections
@Test
public final void whenCreatingImuutableCollections_thenNoExceptions() {
final ImmutableList<String> immutableList = ImmutableList.of("a", "b", "c");
final ImmutableSet<String> immutableSet = ImmutableSet.of("a", "b", "c");
final ImmutableMap<String, String> imuttableMap = ImmutableMap.of("k1", "v1", "k2", "v2", "k3", "v3");
}
@Test
public final void whenTransformingCollectionsToImmutable_thenNoExceptions() {
final List<String> muttableList = Lists.newArrayList();
final ImmutableList<String> immutableList = ImmutableList.copyOf(muttableList);
final Set<String> muttableSet = Sets.newHashSet();
final ImmutableSet<String> immutableSet = ImmutableSet.copyOf(muttableSet);
final Map<String, String> muttableMap = Maps.newHashMap();
final ImmutableMap<String, String> imuttableMap = ImmutableMap.copyOf(muttableMap);
}
@Test
public final void whenTransformingCollectionsToImmutableViaBuilders_thenNoExceptions() {
final List<String> muttableList = Lists.newArrayList();
final ImmutableList<String> immutableList = ImmutableList.<String> builder().addAll(muttableList).build();
final Set<String> muttableSet = Sets.newHashSet();
final ImmutableSet<String> immutableSet = ImmutableSet.<String> builder().addAll(muttableSet).build();
final Map<String, String> muttableMap = Maps.newHashMap();
final ImmutableMap<String, String> imuttableMap = ImmutableMap.<String, String> builder().putAll(muttableMap).build();
}
}