Package org.nutz.dao.texp

Source Code of org.nutz.dao.texp.ChainTest

package org.nutz.dao.texp;

import static org.junit.Assert.*;

import java.util.Map;

import org.junit.Test;
import org.nutz.dao.Chain;
import org.nutz.dao.FieldMatcher;
import org.nutz.dao.test.DaoCase;
import org.nutz.lang.Lang;

public class ChainTest extends DaoCase {

  /**
   * Issue 93
   */
  @Test
  public void test_chain_from_object() {
    Worker w = new Worker();
    w.age = 20;
    w.name = "zzh";
    Chain c = Chain.from(w, FieldMatcher.make("age|name", null, true));
    Map<String, Object> map = c.toMap();
    assertEquals(2, map.size());
    assertEquals("zzh", map.get("name"));
    assertEquals(20, ((Short) map.get("age")).intValue());
  }

  /**
   * Issue 93
   */
  @Test
  public void test_chain_from_map() {
    Map<?, ?> map = Lang.map("{a:12,b:true,c:'haha'}");
    Chain c = Chain.from(map);
    Map<String, Object> map2 = c.toMap();
    assertTrue(Lang.equals(map, map2));
  }

  /**
   * Issue 93
   */
  @Test
  public void test_chain_to_object() {
    Chain c = Chain.from(Lang.map("{name:'zzh',age:30}"));
    Worker w = c.toObject(Worker.class);
    assertEquals("zzh", w.name);
    assertEquals(30, w.age);
  }

}
TOP

Related Classes of org.nutz.dao.texp.ChainTest

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.