package se.dolkow.tangiblexml;
import junit.framework.TestCase;
public class FieldPutterTests extends TestCase {
private FieldPutter<Holder,Number> putter;
private Holder holder;
private static class Holder {
@SuppressWarnings("unused")
public Integer value;
}
@Override
protected void setUp() throws Exception {
holder = new Holder();
putter = new FieldPutter<>(holder.getClass().getField("value"));
}
public void testGet() throws Exception {
assertNull(putter.get(holder));
}
public void testPut() throws Exception {
putter.put(holder, 27);
assertEquals(27, (int) holder.value);
}
public void testPutAndGet() throws Exception {
putter.put(holder, 39710291);
assertEquals(39710291, putter.get(holder));
}
public void testDoublePut() throws Exception {
putter.put(holder, 12345);
try {
putter.put(holder, 67890);
fail("Expected an exception");
} catch (ValueCountException e) {
// ok!
}
assertEquals(12345, putter.get(holder));
}
}