package org.springframework.data.simpledb.util; import static org.junit.Assert.*; import java.lang.reflect.Field; import java.util.Date; import java.util.List; import org.junit.Test; import org.springframework.data.simpledb.reflection.MetadataParser; public class MetadataParserFieldDefinitionTest { @Test public void getSupportedFields_should_return_list_of_primitives_wrappers() throws Exception { List<Field> returnedPrimitiveWrappers = MetadataParser.getSupportedFields(SamplePrimitivesWrapper.class); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("integerField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("byteField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("floatField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("doubleField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("longField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("dateField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("stringField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("charField"))); assertTrue(returnedPrimitiveWrappers.contains(SamplePrimitivesWrapper.class.getDeclaredField("boolField"))); } static class SamplePrimitivesWrapper { private String id; private Integer integerField; private Double doubleField; private Float floatField; private Short shortField; private Long longField; private String stringField; private Date dateField; private Boolean boolField; private Character charField; private Byte byteField; public String getId() { return id; } public void setId(String id) { this.id = id; } public Integer getIntegerField() { return integerField; } public void setIntegerField(Integer integerField) { this.integerField = integerField; } public Double getDoubleField() { return doubleField; } public void setDoubleField(Double doubleField) { this.doubleField = doubleField; } public Float getFloatField() { return floatField; } public void setFloatField(Float floatField) { this.floatField = floatField; } public Short getShortField() { return shortField; } public void setShortField(Short shortField) { this.shortField = shortField; } public Long getLongField() { return longField; } public void setLongField(Long longField) { this.longField = longField; } public String getStringField() { return stringField; } public void setStringField(String stringField) { this.stringField = stringField; } public Date getDateField() { return dateField; } public void setDateField(Date dateField) { this.dateField = dateField; } public Boolean getBoolField() { return boolField; } public void setBoolField(Boolean boolField) { this.boolField = boolField; } public Character getCharField() { return charField; } public void setCharField(Character charField) { this.charField = charField; } public Byte getByteField() { return byteField; } public void setByteField(Byte byteField) { this.byteField = byteField; } } static class SamplePrimitivesCollection { private String id; private int[] intPrimitives; private long[] longPrimitives; private double[] doublePrimitives; private boolean[] booleanPrimitives; private short[] shortPrimitives; public String getId() { return id; } public void setId(String id) { this.id = id; } public int[] getIntPrimitives() { return intPrimitives; } public void setIntPrimitives(int[] intPrimitives) { this.intPrimitives = intPrimitives; } public long[] getLongPrimitives() { return longPrimitives; } public void setLongPrimitives(long[] longPrimitives) { this.longPrimitives = longPrimitives; } public double[] getDoublePrimitives() { return doublePrimitives; } public void setDoublePrimitives(double[] doublePrimitives) { this.doublePrimitives = doublePrimitives; } public boolean[] getBooleanPrimitives() { return booleanPrimitives; } public void setBooleanPrimitives(boolean[] booleanPrimitives) { this.booleanPrimitives = booleanPrimitives; } public short[] getShortPrimitives() { return shortPrimitives; } public void setShortPrimitives(short[] shortPrimitives) { this.shortPrimitives = shortPrimitives; } } }