use of com.codename1.rad.schemas.Person in project CodeRAD by shannah.
the class ResultParserTest method dateFormatXMLAttsTest.
private void dateFormatXMLAttsTest() throws Exception {
EntityType personType = new EntityTypeBuilder().string(Person.name).string(Person.email).Date(Person.birthDate).build();
ResultParser parser = new ResultParser(personType).property("/person[0]/@name", Person.name).property("/person[0]/@email", Person.email).property("/person[0]/@dob", Person.birthDate, new SimpleDateFormat("MMM d, yyyy"));
String json = "<person name=\"Paul\" email=\"paul@example.com\" dob=\"December 27, 1978\"></person>";
XMLParser xparser = new XMLParser();
Element root = xparser.parse(new StringReader("<?xml version='1.0'?>\n" + json));
Entity person = parser.parseRow(Result.fromContent(root), personType.newInstance());
assertEqual("Paul", person.getEntity().getText(Person.name));
assertEqual("paul@example.com", person.getEntity().getText(Person.email));
}
use of com.codename1.rad.schemas.Person in project CodeRAD by shannah.
the class ElementSelectorTest method runTest.
@Override
public boolean runTest() throws Exception {
String json = "<person name=\"Paul\" email=\"paul@example.com\" dob=\"December 27, 1978\">" + "<children><person name=\"Jim\" email=\"jim@example.com\" dob=\"January 10, 1979\"/>" + "<person name=\"Jill\" email=\"jill@example.com\" dob=\"January 11, 1979\"/></children></person>";
XMLParser xparser = new XMLParser();
Element root = xparser.parse(new StringReader("<?xml version='1.0'?>\n" + json));
ElementSelector found = new ElementSelector("person", root);
assertEqual(2, found.size(), "There should be 2 person elements");
assertEqual(1, new ElementSelector("person[name=Jill]", root).size(), "Wrong count on search for Jill");
assertEqual(1, new ElementSelector("person[name=Jim]", root).size(), "Wrong count on search for Jim");
assertEqual(0, new ElementSelector("person[name=John]", root).size(), "Wrong count on search for John");
assertEqual(1, new ElementSelector("person[name='Jill']", root).size(), "Wrong count on search for 'Jill'");
assertEqual(1, new ElementSelector("person[name=\"Jill\"]", root).size(), "Wrong count on search for \"Jill\"");
assertEqual(1, new ElementSelector("person[name!=\"Jill\"]", root).size(), "Wrong count on search for != \"Jill\"");
assertEqual("Jim", new ElementSelector("person[name!=Jill]", root).getAttribute("name"), "Wrong name for query name!=Jill");
assertEqual("Paul", new ElementSelector(root).getAttribute("name"), "Wrong name for root wrapped");
assertEqual(1, new ElementSelector("person[name=Jill OR name=John]", root).size(), "Wrong count on search for Jill or John");
assertEqual(2, new ElementSelector("person[name=Jill OR name=Jim]", root).size(), "Wrong count on search for Jill or John");
assertEqual(2, new ElementSelector("person[name=Jill], person[name=Jim]", root).size(), "Wrong count compound search for Jill and John");
assertEqual(0, new ElementSelector("person[name=Jill AND name=Jim]", root).size(), "Wrong count on search for Jill and John");
assertEqual("Jill", new ElementSelector(root).getString("children/person[name=Jill]/@name", null), "getString() returned wrong value");
assertEqual("Jill", new ElementSelector(root).getString(">children/person[name=Jill]/@name", null), "getString() returned wrong value which child selector");
assertEqual("Jill", new ElementSelector(root).getString(">*/person[name=Jill]/@name", null), "getString() returned wrong value with > * selector");
assertEqual("Jill", new ElementSelector(root).getString("*[name=Jill]/@name", null), "getString() returned wrong value with * selector");
assertEqual("Jim", new ElementSelector(root).getString("*[name=Jim]/@name", null), "getString() returned wrong value with * selector");
assertEqual("Jim", new ElementSelector(root).getString("person/@name", null), "Should return Jim because it is the first person.");
assertEqual(1, new ElementSelector("person", root).getParent().size(), "All people have same parent, so size of getParent() should be 1");
assertEqual("Paul", new ElementSelector("person", root).getParent().getParent().getString("@name", null), "Double parent should have name paul");
return true;
}
use of com.codename1.rad.schemas.Person in project CodeRAD by shannah.
the class EntityListViewTest method testSortedListTransactions.
private void testSortedListTransactions() {
SortedList<Entity> internal = new SortedList<Entity>(new Comparator<Entity>() {
@Override
public int compare(Entity a, Entity b) {
String name1 = a.getText(Thing.name);
if (name1 == null)
name1 = "";
String name2 = b.getText(Thing.name);
if (name2 == null)
name2 = "";
return name1.compareTo(name2);
}
});
EntityList el = new EntityList() {
@Override
protected List createInternalList() {
return internal;
}
};
class Person extends BaseEntity {
}
entityTypeBuilder(Person.class).string(Thing.name).factory(cls -> {
return new Person();
}).build();
Person a = new Person();
a.set(Thing.name, "A");
Person b = new Person();
b.set(Thing.name, "B");
Person c = new Person();
c.set(Thing.name, "C");
Person d = new Person();
d.set(Thing.name, "D");
ProfileListView view = new ProfileListView(el);
view.bind();
assertEqual(0, view.getScrollWrapper().getComponentCount());
el.add(b);
assertEqual(1, view.getScrollWrapper().getComponentCount());
assertNotNull(view.getRowViewForEntity(b));
assertNull(view.getRowViewForEntity(a));
el.add(a);
assertEqual(0, el.indexOf(a));
assertEqual(1, el.indexOf(b));
assertEqual(2, view.getScrollWrapper().getComponentCount());
assertEqual(0, view.getScrollWrapper().getComponentIndex((Component) view.getRowViewForEntity(a)));
assertEqual(1, view.getScrollWrapper().getComponentIndex((Component) view.getRowViewForEntity(b)));
view.unbind();
}
Aggregations