package org.unitils.core.util; import java.lang.reflect.Method; import org.junit.Assert; import org.junit.Test; import org.unitils.util.ReflectionUtils; /** * Test <a href="https://unitils.atlassian.net/browse/UNI-263">STVE-183</a>. * * @author Willemijn Wouters * * @since * */ public class ReflectionUtilsTest { @Test public void testString() throws NoSuchMethodException, SecurityException { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "str", false)); Method setter = TestClass1.class.getMethod("setStr", String.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "str", false)); } @Test public void testIntegerPrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "i", false)); Method setter = TestClass1.class.getMethod("setI", Integer.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "i", false)); } @Test public void testIntegerWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperI", false)); Method setter = TestClass1.class.getMethod("setWrapperI", Integer.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperI", false)); } @Test public void testDoublePrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "d", false)); Method setter = TestClass1.class.getMethod("setD", Double.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "d", false)); } @Test public void testDoubleWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperD", false)); Method setter = TestClass1.class.getMethod("setWrapperD", Double.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperD", false)); } @Test public void testBooleanPrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "b", false)); Method setter = TestClass1.class.getMethod("setB", Boolean.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "b", false)); } @Test public void testBooleanWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperB", false)); Method setter = TestClass1.class.getMethod("setWrapperB", Boolean.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperB", false)); } @Test public void testShortPrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "s", false)); Method setter = TestClass1.class.getMethod("setS", Short.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "s", false)); } @Test public void testShortWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperS", false)); Method setter = TestClass1.class.getMethod("setWrapperS", Short.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperS", false)); } @Test public void testLongPrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "l", false)); Method setter = TestClass1.class.getMethod("setL", Long.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "l", false)); } @Test public void testLongWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperL", false)); Method setter = TestClass1.class.getMethod("setWrapperL", Long.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperL", false)); } @Test public void testFloatPrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "f", false)); Method setter = TestClass1.class.getMethod("setF", Float.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "f", false)); } @Test public void testFloatWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperF", false)); Method setter = TestClass1.class.getMethod("setWrapperF", Float.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperF", false)); } @Test public void testCharPrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "c", false)); Method setter = TestClass1.class.getMethod("setC", Character.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "c", false)); } @Test public void testCharWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperC", false)); Method setter = TestClass1.class.getMethod("setWrapperC", Character.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperC", false)); } @Test public void testBytePrimitive() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "byteVar", false)); Method setter = TestClass1.class.getMethod("setByteVar", Byte.TYPE); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "byteVar", false)); } @Test public void testByteWrapper() throws Exception { Assert.assertNotNull(ReflectionUtils.getGetter(TestClass1.class, "wrapperByte", false)); Method setter = TestClass1.class.getMethod("setWrapperByte", Byte.class); Assert.assertNotNull(ReflectionUtils.getGetter(setter, false)); Assert.assertNotNull(ReflectionUtils.getSetter(TestClass1.class, "wrapperByte", false)); } /***/ @SuppressWarnings("unused") private class TestClass1 { private String str; private int i; private Integer wrapperI; private double d; private Double wrapperD; private boolean b; private Boolean wrapperB; private byte byteVar; private Byte wrapperByte; private short s; private Short wrapperS; private long l; private Long wrapperL; private float f; private Float wrapperF; private char c; private Character wrapperC; /** * @return the str */ public String getStr() { return str; } /** * @param str the str to set */ public void setStr(String str) { this.str = str; } /** * @return the i */ public int getI() { return i; } /** * @param i the i to set */ public void setI(int i) { this.i = i; } /** * @return the wrapperI */ public Integer getWrapperI() { return wrapperI; } /** * @param wrapperI the wrapperI to set */ public void setWrapperI(Integer wrapperI) { this.wrapperI = wrapperI; } /** * @return the d */ public double getD() { return d; } /** * @param d the d to set */ public void setD(double d) { this.d = d; } /** * @return the wrapperD */ public Double getWrapperD() { return wrapperD; } /** * @param wrapperD the wrapperD to set */ public void setWrapperD(Double wrapperD) { this.wrapperD = wrapperD; } /** * @return the b */ public boolean isB() { return b; } /** * @param b the b to set */ public void setB(boolean b) { this.b = b; } /** * @return the wrapperB */ public Boolean getWrapperB() { return wrapperB; } /** * @param wrapperB the wrapperB to set */ public void setWrapperB(Boolean wrapperB) { this.wrapperB = wrapperB; } /** * @return the byteVar */ public byte getByteVar() { return byteVar; } /** * @param byteVar the byteVar to set */ public void setByteVar(byte byteVar) { this.byteVar = byteVar; } /** * @return the wrapperByte */ public Byte getWrapperByte() { return wrapperByte; } /** * @param wrapperByte the wrapperByte to set */ public void setWrapperByte(Byte wrapperByte) { this.wrapperByte = wrapperByte; } /** * @return the s */ public short getS() { return s; } /** * @param s the s to set */ public void setS(short s) { this.s = s; } /** * @return the wrapperS */ public Short getWrapperS() { return wrapperS; } /** * @param wrapperS the wrapperS to set */ public void setWrapperS(Short wrapperS) { this.wrapperS = wrapperS; } /** * @return the l */ public long getL() { return l; } /** * @param l the l to set */ public void setL(long l) { this.l = l; } /** * @return the wrapperL */ public Long getWrapperL() { return wrapperL; } /** * @param wrapperL the wrapperL to set */ public void setWrapperL(Long wrapperL) { this.wrapperL = wrapperL; } /** * @return the f */ public float getF() { return f; } /** * @param f the f to set */ public void setF(float f) { this.f = f; } /** * @return the wrapperF */ public Float getWrapperF() { return wrapperF; } /** * @param wrapperF the wrapperF to set */ public void setWrapperF(Float wrapperF) { this.wrapperF = wrapperF; } /** * @return the c */ public char getC() { return c; } /** * @param c the c to set */ public void setC(char c) { this.c = c; } /** * @return the wrapperC */ public Character getWrapperC() { return wrapperC; } /** * @param wrapperC the wrapperC to set */ public void setWrapperC(Character wrapperC) { this.wrapperC = wrapperC; } } }