awips2/edexOsgi/com.raytheon.uf.common.util/unit-test/com/raytheon/uf/common/util/CollectionUtilTest.java
Dustin Johnson 6f821ed8c9 Issue #1543 Serialize DODS response rather than plugin data objects directly
- Remove proxy classes for Spring transactions, use interfaces as Spring recommends.

Amend:
   Peer review comments.
   Set retrieval status to failed when payload is null.

Change-Id: I458b13856302c8faceeef985c1c41115644520b7

Former-commit-id: 25faaa2af0 [formerly dd8ca33fc4] [formerly d143735ea8 [formerly 69f294183da4bbeb535b11c81550b1e9b4124ac6]]
Former-commit-id: d143735ea8
Former-commit-id: 9783dc4d9f
2013-02-14 09:49:22 -06:00

155 lines
4.8 KiB
Java

/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.util;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;
import static org.hamcrest.Matchers.sameInstance;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import org.junit.Test;
/**
* Test {@link CollectionUtil}.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 13, 2012 740 djohnson Initial creation
* Jul 26, 2012 955 djohnson Add isNullOrEmpty for {@link Collection}s.
* Feb 12, 2013 1543 djohnson Test combining of arrays.
*
* </pre>
*
* @author djohnson
* @version 1.0
*/
public class CollectionUtilTest {
@Test
public void testIsNullOrEmptyReturnsTrueForNullArray() {
String[] array = null;
assertTrue(CollectionUtil.isNullOrEmpty(array));
}
@Test
public void testIsNullOrEmptyReturnsTrueForEmptyArray() {
String[] array = new String[0];
assertTrue(CollectionUtil.isNullOrEmpty(array));
}
@Test
public void testIsNullOrEmptyReturnsFalseForNonEmptyArray() {
String[] array = new String[] { "" };
assertFalse(CollectionUtil.isNullOrEmpty(array));
}
@Test
public void testIsNullOrEmptyReturnsTrueForNullCollection() {
assertTrue(CollectionUtil.isNullOrEmpty((Collection<?>) null));
}
@Test
public void testIsNullOrEmptyReturnsTrueForEmptyCollection() {
assertTrue(CollectionUtil.isNullOrEmpty(Collections.emptyList()));
}
@Test
public void testIsNullOrEmptyReturnsFalseForNonEmptyCollection() {
assertFalse(CollectionUtil.isNullOrEmpty(Arrays.asList("not empty")));
}
@Test
public void twoAndThreeElementArraysCanBeCombinedIntoFiveElementArray() {
Object[] objArray1 = new Object[] { new Object(), new Object(),
new Object() };
Object[] objArray2 = new Object[] { new Object(), new Object() };
Object[] combined = CollectionUtil.combine(Object.class, objArray1,
objArray2);
assertThat(combined.length, is(5));
for (int i = 0; i < objArray1.length; i++) {
assertThat(combined[i], is(sameInstance(objArray1[i])));
}
for (int i = 0; i < objArray2.length; i++) {
assertThat(combined[i + 3], is(sameInstance(objArray2[i])));
}
}
@Test
public void twoEmptyArraysCanBeCombinedIntoEmptyArray() {
Object[] objArray1 = new Object[0];
Object[] objArray2 = new Object[0];
Object[] combined = CollectionUtil.combine(Object.class, objArray1,
objArray2);
assertThat(combined.length, is(0));
}
@Test
public void nullFirstArrayCanBeCombinedWithValidArray() {
Object[] objArray1 = null;
Object[] objArray2 = new Object[] { new Object(), new Object() };
Object[] combined = CollectionUtil.combine(Object.class, objArray1,
objArray2);
assertThat(combined.length, is(2));
for (int i = 0; i < objArray2.length; i++) {
assertThat(combined[i], is(sameInstance(objArray2[i])));
}
}
@Test
public void nullSecondArrayCanBeCombinedWithValidArray() {
Object[] objArray1 = new Object[] { new Object(), new Object() };
Object[] objArray2 = null;
Object[] combined = CollectionUtil.combine(Object.class, objArray1,
objArray2);
assertThat(combined.length, is(2));
for (int i = 0; i < objArray1.length; i++) {
assertThat(combined[i], is(sameInstance(objArray1[i])));
}
}
@Test
public void twoNullArraysCanBeCombinedToReturnNull() {
Object[] objArray1 = null;
Object[] objArray2 = null;
Object[] combined = CollectionUtil.combine(Object.class, objArray1,
objArray2);
assertThat(combined, is(nullValue()));
}
}