package org.nutz.dao.test.smoke; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.junit.Before; import org.junit.Test; import org.nutz.dao.Chain; import org.nutz.dao.Cnd; import org.nutz.dao.FieldFilter; import org.nutz.dao.test.DaoCase; import org.nutz.dao.test.meta.Pet; import org.nutz.trans.Atom; public class BatchInsertTest extends DaoCase { @Before public void before() { dao.create(Pet.class, true); } @Test public void test_insert_3_pets() { assertEquals(0, dao.count(Pet.class)); dao.insert(Pet.create(3)); assertEquals(3, dao.count(Pet.class)); assertTrue(null != dao.fetch(Pet.class, 1)); assertTrue(null != dao.fetch(Pet.class, 2)); assertTrue(null != dao.fetch(Pet.class, 3)); FieldFilter.create(Pet.class, "name|id").run(new Atom() { public void run() { assertTrue(null != dao.fetch(Pet.class)); } }); } /** * For Issue #118 */ @Test public void test_insert_2_pets_by_chain_to_map() { dao.insert(Chain.make(".table", "t_pet").add("name", "A").toMap()); dao.insert(Chain.make(".table", "t_pet").add("name", "B").toMap()); List<Pet> pets = dao.query(Pet.class, Cnd.orderBy().asc("name"), null); assertEquals(2, pets.size()); assertEquals("A", pets.get(0).getName()); assertEquals("B", pets.get(1).getName()); } /** * For Issue #118 */ @Test public void test_fast_insert_2_pets_by_chain_to_map() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); list.add(Chain.make(".table", "t_pet").add("name", "A").toMap()); list.add(Chain.make(".table", "t_pet").add("name", "B").toMap()); dao.fastInsert(list); List<Pet> pets = dao.query(Pet.class, Cnd.orderBy().asc("name"), null); assertEquals(2, pets.size()); assertEquals("A", pets.get(0).getName()); assertEquals("B", pets.get(1).getName()); } }