package com.levelup.java.guava; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Test; import com.google.common.collect.Lists; import com.google.common.primitives.Booleans; /** * This example demostrates uses of Google guavas Booleans, static utility * methods pertaining to boolean primitives that are not found in Boolean or Arrays. * * @author Justin Musgrove * @see <a href='http://www.leveluplunch.com/java/examples/guava-booleans-utility-example/'>Booleans utility example</a> */ public class BooleansExample { @Test public void count_total_number_of_booleans () { boolean [] values = {true, true, false, true, false}; int count = Booleans.countTrue(values); assertEquals(3, count); } @Test public void convert_boolean_array_to_Boolean_list () { boolean[] booleanArray = {true, false, true, false}; List<Boolean> booleans = Booleans.asList(booleanArray); assertEquals(4, booleans.size()); } @Test public void concat_boolean_arrays () { boolean[] booleanArray1 = {true, false}; boolean[] booleanArray2 = {true, false}; boolean[] concatedArray = Booleans.concat(booleanArray1, booleanArray2); assertEquals(4, concatedArray.length); } @Test public void boolean_array_contains () { boolean[] booleanArray = {true, false, true, false}; boolean arrayContains = Booleans.contains(booleanArray, true); assertTrue(arrayContains); } @Test public void boolean_array_index () { boolean[] booleanArray = {true, false, true, false}; int index = Booleans.indexOf(booleanArray, false); assertEquals(1, index); } @Test public void join_elements_of_boolean_array () { boolean[] booleanArray = {true, false, true, false}; String joinedElements = Booleans.join("-", booleanArray); assertEquals("true-false-true-false", joinedElements); } @Test public void convert_Boolean_to_primitive () { List<Boolean> booleans = Lists.newArrayList( Boolean.TRUE, Boolean.FALSE, Boolean.TRUE, Boolean.FALSE); boolean[] primitiveArray = Booleans.toArray(booleans); assertEquals(4, primitiveArray.length); } }