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.