/**
*
*/
package me.yumin.mongo.client;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import me.yumin.mongo.client.query.MongoAdvancedQuery;
import me.yumin.mongo.client.query.impl.MongoBetweenQuery;
import me.yumin.mongo.client.query.impl.MongoEqualQuery;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* @author xuanyin
*
*/
public class AdvancedQueryTest {
/**
*
*/
private static UserDAO dao;
/**
* @throws java.lang.Exception
*/
@BeforeClass
public static void setUpBeforeClass() throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("test.application.xml");
dao = (UserDAO) context.getBean("dao");
if (null != dao) {
// dao.removeAll();
}
}
/**
*
* @return
*/
private String getRandom() {
long time = new Date().getTime() / 1000;
long random = (long) (Math.random() * (1 - 99999999)) + 99999999;
long result = time + random;
return result + "";
}
// @Test
public void testSimpleInit() {
System.out.println("=== testSimpleInit ===");
String random = getRandom();
Date now = new Date();
POJO pojo = new POJO();
pojo.set_id(random);
pojo.setAge(27);
pojo.setCreateDate(now);
pojo.setModifyDate(now);
pojo.setNick("insert");
boolean result = dao.insert(pojo);
assertEquals(true, result);
}
@Test
public void testAdvancedQuery() {
System.out.println("=== testAdvancedQuery ===");
// between
MongoBetweenQuery between = new MongoBetweenQuery();
between.setGreaterThan(1);
between.setLessThanEqualTo(27);
// equal
MongoEqualQuery equal = new MongoEqualQuery();
equal.setEqualto("1333715943");
// condition
Map<String, MongoAdvancedQuery> condition = new HashMap<String, MongoAdvancedQuery>();
condition.put("age", between);
condition.put("_id", equal);
List<POJO> list = dao.advancedFindByCondition(condition, null, 1, 10);
if (null != list && 0 < list.size()) {
for (POJO pojo : list) {
System.out.println(pojo.get_id() + "-" + pojo.getAge());
}
}
assertEquals(true, true);
}
}