package test.bean; import static org.junit.Assert.assertTrue; import java.text.NumberFormat; import java.util.Locale; import org.junit.Before; import org.junit.Test; import test.model.Person; import com.towel.bean.DynamicFormatter; import com.towel.bean.Formatter; import com.towel.el.FieldResolver; public class TestDynamicFormatter { @Before public void setUp() throws Exception { } @Test public void testFormat() { // TESTE 1 DynamicFormatter<Person> d = new DynamicFormatter<Person>(Person.class, " - "); d.addField(new FieldResolver(Person.class, "name")); d.addField(new FieldResolver(Person.class,"age")); d.addField(new FieldResolver(Person.class, "live")); Person myPojoMock = new Person("Felipe", 23,true, "29061991"); Object s = d.format(myPojoMock); assertTrue( s instanceof String); assertTrue( s.equals("Felipe - 23 - true")); // TESTE 2 d.clear(); d.addField(new FieldResolver(Person.class,"name")); d.addField(new FieldResolver(Person.class,"age")); myPojoMock = new Person("Felipe", 23,true, "20101990"); d.setSeparator(" "); s = d.format(myPojoMock); assertTrue( s instanceof String); assertTrue( s.equals("Felipe 23")); // TESTE UTILIZANDO O FORMAT d.clear(); d.addField(new FieldResolver(Person.class, "name")); FieldResolver resolver= new FieldResolver(Person.class, "money"); resolver.setFormatter(new Formatter(){ @Override public String format(Object obj) { return NumberFormat.getNumberInstance(new Locale("pt","pt_BR")).format(Double.parseDouble(obj.toString())); } @Override public Object parse(Object source) { return null; } @Override public String getName() { // TODO Auto-generated method stub return null; } }); d.addField(resolver); myPojoMock.setMoney(25.10); s = d.format(myPojoMock); assertTrue( s instanceof String); assertTrue( s.equals("Felipe 25,1")); // TESTE 4 s = d.format(null); assertTrue( s instanceof String); assertTrue( s.equals("")); } }