Conflicts: edexOsgi/build.edex/deploy-common/external-rules.xml edexOsgi/build.edex/deploy-common/plugin-methods.xml edexOsgi/com.raytheon.edex.plugin.text/src/com/raytheon/edex/plugin/text/dao/TextDao.java edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/plugin/PluginDao.java edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/Executor.java edexOsgi/build.edex/build.xml edexOsgi/build.edex/esb/conf/modes.xml edexOsgi/com.raytheon.edex.feature.uframe/feature.xml edexOsgi/com.raytheon.edex.plugin.grib/res/spring/grib-ingest.xml edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/Grib1Decoder.java edexOsgi/com.raytheon.edex.plugin.grib/src/com/raytheon/edex/plugin/grib/GribDecoder.java edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java Change-Id: I32226e8c316eb393d6f372eaa53b8811d0a954a0 Former-commit-id:8e69107b5a
[formerly98d7beae50
] [formerly31d7d09c10
[formerly 89583d97c8823818f87dc1a234078d85ba7bea4a]] Former-commit-id:31d7d09c10
Former-commit-id:bcf575966b
132 lines
4.1 KiB
Java
132 lines
4.1 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.junit.Assert.assertArrayEquals;
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.HashSet;
|
|
import java.util.List;
|
|
|
|
import org.junit.Test;
|
|
|
|
/**
|
|
* Test {@link ReflectionUtil}.
|
|
*
|
|
* <pre>
|
|
*
|
|
* SOFTWARE HISTORY
|
|
*
|
|
* Date Ticket# Engineer Description
|
|
* ------------ ---------- ----------- --------------------------
|
|
* Jul 10, 2012 634 djohnson Initial creation
|
|
*
|
|
* </pre>
|
|
*
|
|
* @author djohnson
|
|
* @version 1.0
|
|
*/
|
|
public class ReflectionUtilTest {
|
|
|
|
private static final String NON_EXISTANT = "nonExistant";
|
|
|
|
@Test
|
|
public void testNewInstanceOfAssignableTypeWithInterface() {
|
|
List<?> list = ReflectionUtil.newInstanceOfAssignableType(List.class,
|
|
ArrayList.class.getName());
|
|
assertTrue(list instanceof ArrayList<?>);
|
|
}
|
|
|
|
@Test(expected = ReflectionException.class)
|
|
public void testNewInstanceOfAssignableTypeThrowsReflectionExceptionOnIncompatibleCast() {
|
|
ReflectionUtil.newInstanceOfAssignableType(List.class,
|
|
HashSet.class.getName());
|
|
}
|
|
|
|
@Test(expected = ReflectionException.class)
|
|
public void testNewInstanceOfAssignableTypeThrowsReflectionExceptionOnInvalidClassname() {
|
|
ReflectionUtil.newInstanceOfAssignableType(List.class, NON_EXISTANT);
|
|
}
|
|
|
|
@Test
|
|
public void testGetterRetrievesGetPrefixedValue() {
|
|
byte[] expected = new byte[] { 't', 'e', 's', 't' };
|
|
String value = new String(expected);
|
|
|
|
byte[] actual = (byte[]) ReflectionUtil.getter(value, "bytes");
|
|
|
|
assertArrayEquals(
|
|
"Did not receive the expected value from the getter!",
|
|
expected, actual);
|
|
}
|
|
|
|
@Test
|
|
public void testGetterWithCastResult() {
|
|
byte[] expected = new byte[] { 't', 'e', 's', 't' };
|
|
String value = new String(expected);
|
|
|
|
byte[] actual = ReflectionUtil.getter(byte[].class, value, "bytes");
|
|
|
|
assertArrayEquals(
|
|
"Did not receive the expected value from the getter!",
|
|
expected, actual);
|
|
}
|
|
|
|
@Test
|
|
public void testGetterRetrievesIsPrefixedValue() {
|
|
List<String> list = Collections.emptyList();
|
|
|
|
boolean value = (Boolean) ReflectionUtil.getter(list, "empty");
|
|
|
|
assertTrue(
|
|
"Incorrect value retrieved from the getter using an is prefix!",
|
|
value);
|
|
}
|
|
|
|
@Test(expected = ReflectionException.class)
|
|
public void testGetterThrowsReflectionExceptionOnNoSuchMethod() {
|
|
byte[] expected = new byte[] { 't', 'e', 's', 't' };
|
|
String value = new String(expected);
|
|
|
|
ReflectionUtil.getter(value, NON_EXISTANT);
|
|
}
|
|
|
|
@Test
|
|
public void testSetterCanSetValueOnProperlyNamedMethod() {
|
|
final String name = "blah";
|
|
|
|
Thread thread = new Thread();
|
|
ReflectionUtil.setter(thread, "name", name);
|
|
|
|
assertEquals("Setter did not set the correct value!", name,
|
|
thread.getName());
|
|
}
|
|
|
|
@Test(expected = ReflectionException.class)
|
|
public void testSetterThrowsReflectionExceptionOnNoSuchMethod() {
|
|
String string = "blah";
|
|
|
|
Thread thread = new Thread();
|
|
ReflectionUtil.setter(thread, string, NON_EXISTANT);
|
|
}
|
|
}
|