package org.akaza.openclinica.dao.rule; import org.akaza.openclinica.bean.managestudy.StudyBean; import org.akaza.openclinica.dao.hibernate.RuleDao; import org.akaza.openclinica.domain.rule.RuleBean; import org.akaza.openclinica.domain.rule.expression.Context; import org.akaza.openclinica.domain.rule.expression.ExpressionBean; import org.akaza.openclinica.templates.HibernateOcDbTestCase; public class RuleDaoTest extends HibernateOcDbTestCase { private static RuleDao ruleDao; public RuleDaoTest() { super(); } @Override public void setUp() throws Exception{ super.setUp(); ruleDao = (RuleDao) getContext().getBean("ruleDao"); } public void testFindByOidString() { // RuleDao ruleDao = (RuleDao) getContext().getBean("ruleDao"); String oid = "RULE_1"; RuleBean persistentRuleBean = ruleDao.findByOid(oid, 1); assertNotNull("RuleSet is null", persistentRuleBean); assertEquals("The id of the retrieved RuleSet should be 1", new Integer(-1), persistentRuleBean.getId()); } public void testFindById() { // RuleDao ruleDao = (RuleDao) getContext().getBean("ruleDao"); RuleBean ruleBean = null; ruleBean = ruleDao.findById(-1); // Test Rule assertNotNull("RuleSet is null", ruleBean); assertEquals("The id of the retrieved RuleSet should be 1", new Integer(-1), ruleBean.getId()); } public void testFindByIdEmptyResultSet() { // RuleDao ruleDao = (RuleDao) getContext().getBean("ruleDao"); RuleBean ruleBean2 = null; ruleBean2 = ruleDao.findById(-3); // Test Rule assertNull("RuleSet is null", ruleBean2); } public void testFindByOid() { // RuleDao ruleDao = (RuleDao) getContext().getBean("ruleDao"); RuleBean ruleBean = new RuleBean(); ruleBean.setOid("RULE_1"); StudyBean studyBean = new StudyBean(); studyBean.setId(1); ruleBean.setStudy(studyBean); RuleBean persistentRuleBean = ruleDao.findByOid(ruleBean); assertNotNull("RuleSet is null", persistentRuleBean); assertEquals("The id of the retrieved RuleSet should be 1", new Integer(-1), persistentRuleBean.getId()); } public void testSaveOrUpdate() { // RuleDao ruleDao = (RuleDao) getContext().getBean("ruleDao"); RuleBean ruleBean = createRuleBeanStub(); RuleBean persistentRuleBean = ruleDao.saveOrUpdate(ruleBean); RuleBean ruleBean2 = createRuleBeanStub(); RuleBean persistentRuleBean2 = ruleDao.saveOrUpdate(ruleBean2); assertNotNull("Persistent id is null", persistentRuleBean.getId()); assertNotNull("Persistent id is null", persistentRuleBean2.getId()); } private RuleBean createRuleBeanStub() { RuleBean ruleBean = new RuleBean(); ruleBean.setName("TEST"); ruleBean.setOid("BOY"); ruleBean.setDescription("Yellow"); ruleBean.setExpression(createExpression(Context.OC_RULES_V1, "SE_ED1NONRE.F_AGEN.IG_AGEN_UNGROUPED[1].I_AGEN_PERIODSTART eq \"07/01/2008\" and I_CONC_CON_MED_NAME eq \"Tylenol\"")); return ruleBean; } private ExpressionBean createExpression(Context context, String value) { ExpressionBean expression = new ExpressionBean(); expression.setContext(context); expression.setValue(value); return expression; } public void tearDown(){ super.tearDown(); } }