Package test

Source Code of test.TestObjNavigator

package test;

import static org.hamcrest.Matchers.is;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Assert;
import org.junit.Test;

import com.firefly.template.Model;
import com.firefly.template.ObjectNavigator;


public class TestObjNavigator {
 
  @Test
  public void testRoot() {
    Map<String, Object> map2 = new HashMap<String, Object>();
    map2.put("ccc", "ddd");
    map2.put("eee", "fff");
   
    int[] arr = {111, 222, 333};
   
    List<String> list = new ArrayList<String>();
    list.add("list111");
    list.add("list222");
    list.add("list333");
   
    Model model = new ModelMock();
    model.put("a", "fffff");
    model.put("b", map2);
    model.put("arr", arr);
    model.put("list", list);
   
    Assert.assertThat(ObjectNavigator.getInstance().find(model, "a").toString(), is("fffff"));
    Assert.assertThat(ObjectNavigator.getInstance().find(model, "b['ccc']").toString(), is("ddd"));
    Assert.assertThat(ObjectNavigator.getInstance().find(model, "b['eee']").toString(), is("fff"));
    Assert.assertThat(ObjectNavigator.getInstance().find(model, "b[\"ccc\"]").toString(), is("ddd"));
    Assert.assertThat((Integer)ObjectNavigator.getInstance().find(model, "arr[2]"), is(333));
    Assert.assertThat(ObjectNavigator.getInstance().find(model, "list[2]").toString(), is("list333"));
  }
 
  @Test
  public void testObject() {
    Foo foo = new Foo();
    Bar bar = new Bar();
    bar.setInfo("bar1");
    bar.setSerialNumber(33L);
    bar.setPrice(3.30);
    foo.setBar(bar);
   
   
    Map<String, Bar> fooMap = new HashMap<String, Bar>();
    bar = new Bar();
    bar.setInfo("bar2");
    bar.setSerialNumber(23L);
    bar.setPrice(2.30);
    fooMap.put("bar2", bar);
    foo.setMap(fooMap);
   
    Model model = new ModelMock();
    model.put("foo", foo);
   
    ObjectNavigator o = ObjectNavigator.getInstance();
    Assert.assertThat(String.valueOf(o.find(model, "foo.bar.info")), is("bar1"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.bar.serialNumber")), is("33"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.bar.price")), is("3.3"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.numbers[2]")), is("5"));
    Assert.assertThat(String.valueOf(o.find(model, "foo.map['bar2'].price")), is("2.3"));
  }
 
  public static void main(String[] args) {
    Foo foo = new Foo();
    Bar bar = new Bar();
    bar.setInfo("bar1");
    bar.setSerialNumber(33L);
    bar.setPrice(3.30);
    foo.setBar(bar);
   
   
    Map<String, Bar> fooMap = new HashMap<String, Bar>();
    bar = new Bar();
    bar.setInfo("bar2");
    bar.setSerialNumber(23L);
    bar.setPrice(2.30);
    fooMap.put("bar2", bar);
    foo.setMap(fooMap);
   
    Model model = new ModelMock();
    model.put("foo", foo);
   
    System.out.println(ObjectNavigator.getInstance().find(model, "foo.bar.info"));
    System.out.println(ObjectNavigator.getInstance().find(model, "foo.bar.info"));
    System.out.println(ObjectNavigator.getInstance().find(model, "foo.bar.serialNumber"));
    System.out.println(ObjectNavigator.getInstance().find(model, "foo.bar.price"));
    System.out.println(ObjectNavigator.getInstance().find(model, "foo.numbers[2]"));
    System.out.println(ObjectNavigator.getInstance().find(model, "foo.map['bar2']"));
    System.out.println(ObjectNavigator.getInstance().find(model, "foo.map['bar2'].price"));
   
  }
}
TOP

Related Classes of test.TestObjNavigator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.