package org.springframework.roo.support.util; import static org.junit.Assert.assertEquals; import java.util.Arrays; import org.apache.commons.lang3.tuple.MutablePair; import org.apache.commons.lang3.tuple.Pair; import org.junit.Test; /** * Unit test of {@link PairList} * * @author Andrew Swan * @since 1.2.0 */ public class PairListTest { private static final int KEY_1 = 10; private static final int KEY_2 = 20; private static final String VALUE_1 = "a"; private static final String VALUE_2 = "b"; private static final MutablePair<Integer, String> PAIR_1 = new MutablePair<Integer, String>( KEY_1, VALUE_1); private static final MutablePair<Integer, String> PAIR_2 = new MutablePair<Integer, String>( KEY_2, VALUE_2); @Test public void testConstructFromListsOfKeysAndValues() { // Invoke final PairList<Integer, String> pairs = new PairList<Integer, String>(Arrays.asList(KEY_1, KEY_2), Arrays.asList(VALUE_1, VALUE_2)); // Check assertEquals(2, pairs.size()); assertEquals(PAIR_1, pairs.get(0)); assertEquals(PAIR_2, pairs.get(1)); } @Test public void testConstructFromNulListsOfKeysAndValues() { // Invoke final PairList<Integer, String> pairs = new PairList<Integer, String>(null, null); // Check assertEquals(0, pairs.size()); } @SuppressWarnings("unchecked") @Test public void testConstructFromVarargArrayOfPairs() { // Invoke final PairList<Integer, String> pairs = new PairList<Integer, String>(PAIR_1, PAIR_2); // Check assertEquals(2, pairs.size()); assertEquals(Arrays.asList(KEY_1, KEY_2), pairs.getKeys()); assertEquals(Arrays.asList(VALUE_1, VALUE_2), pairs.getValues()); final Pair<Integer, String>[] array = pairs.toArray(); assertEquals(pairs.size(), array.length); assertEquals(pairs, Arrays.asList(array)); } }