/* * Tanaguru - Automated webpage assessment * Copyright (C) 2008-2015 Tanaguru.org * * This file is part of Tanaguru. * * Tanaguru is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Contact us by mail: tanaguru AT tanaguru DOT org */ package org.tanaguru.entity.dao.parameterization; import java.util.Set; import org.tanaguru.entity.audit.Audit; import org.tanaguru.entity.dao.audit.AuditDAO; import org.tanaguru.entity.dao.test.AbstractDaoTestCase; import org.tanaguru.entity.parameterization.Parameter; import org.tanaguru.entity.parameterization.ParameterElement; /** * * @author jkowalczyk */ public class ParameterDAOImplTest extends AbstractDaoTestCase { private static final String INPUT_DATA_SET_FILENAME = "parameterizationDataSet.xml"; private ParameterDAO parameterDAO; private ParameterElementDAO parameterElementDAO; private ParameterFamilyDAO parameterFamilyDAO; private AuditDAO auditDAO; public ParameterDAOImplTest(String testName) { super(testName); setInputDataFileName(getInputDataFilePath()+INPUT_DATA_SET_FILENAME); parameterDAO = (ParameterDAO) springBeanFactory.getBean("parameterDAO"); auditDAO = (AuditDAO) springBeanFactory.getBean("auditDAO"); parameterElementDAO = (ParameterElementDAO) springBeanFactory.getBean("parameterElementDAO"); parameterFamilyDAO = (ParameterFamilyDAO) springBeanFactory.getBean("parameterFamilyDAO"); } public void testFindParameterSet() { // TO DO : implement the findParameterSet from parameterFamily and Audit // ParameterFamily paramFam = parameterFamilyDAO.read(Long.valueOf(1)); // // Audit audit = auditDAO.read(Long.valueOf(1)); // Set<Parameter> paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // Parameter param = paramSet.iterator().next(); // assertEquals("Value1", param.getValue()); // // audit = auditDAO.read(Long.valueOf(2)); // paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // param = paramSet.iterator().next(); // assertEquals("Value2", param.getValue()); // // audit = auditDAO.read(Long.valueOf(3)); // paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // param = paramSet.iterator().next(); // assertEquals("Value3", param.getValue()); // // audit = auditDAO.read(Long.valueOf(4)); // paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // param = paramSet.iterator().next(); // assertEquals("Value4", param.getValue()); // // paramFam = parameterFamilyDAO.read(Long.valueOf(2)); // // audit = auditDAO.read(Long.valueOf(5)); // paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // param = paramSet.iterator().next(); // assertEquals("Value5", param.getValue()); // // audit = auditDAO.read(Long.valueOf(6)); // paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // param = paramSet.iterator().next(); // assertEquals("Value6", param.getValue()); // // audit = auditDAO.read(Long.valueOf(7)); // paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // param = paramSet.iterator().next(); // assertEquals("Value7", param.getValue()); // // audit = auditDAO.read(Long.valueOf(8)); // paramSet = parameterDAO.findParameterSet(paramFam, audit); // assertEquals(1, paramSet.size()); // param = paramSet.iterator().next(); // assertEquals("Value8", param.getValue()); } public void testFindDefaultParameterSet() { Set<Parameter> paramSet = parameterDAO.findDefaultParameterSet(); assertEquals(2, paramSet.size()); // the two default elements are the one with value equals to "Value1" // and "Value5" for (Parameter param : paramSet) { if (param.getValue().equals("Value1") || param.getValue().equals("Value5")) { assertTrue(true); } else { assertTrue(false); } } } public void testFindParameterSetFromAudit() { Audit audit = auditDAO.read(Long.valueOf(1)); Set<Parameter> paramSet = parameterDAO.findParameterSetFromAudit(audit); assertEquals(Integer.valueOf(2), Integer.valueOf(paramSet.size())); audit = auditDAO.read(Long.valueOf(2)); paramSet = parameterDAO.findParameterSetFromAudit(audit); assertEquals(Integer.valueOf(2), Integer.valueOf(paramSet.size())); audit = auditDAO.read(Long.valueOf(3)); paramSet = parameterDAO.findParameterSetFromAudit(audit); assertEquals(Integer.valueOf(2), Integer.valueOf(paramSet.size())); audit = auditDAO.read(Long.valueOf(4)); paramSet = parameterDAO.findParameterSetFromAudit(audit); assertEquals(Integer.valueOf(2), Integer.valueOf(paramSet.size())); audit = auditDAO.read(Long.valueOf(5)); paramSet = parameterDAO.findParameterSetFromAudit(audit); assertEquals(Integer.valueOf(0), Integer.valueOf(paramSet.size())); } public void testFindParameter() { ParameterElement paramElement = parameterElementDAO.read(Long.valueOf(1)); Parameter param = parameterDAO.findParameter(paramElement, "0"); assertNull(param); for (int i=1;i<5;i++) { param = parameterDAO.findParameter(paramElement, "Value"+i); assertEquals(i, param.getId().intValue()); } paramElement = parameterElementDAO.read(Long.valueOf(2)); param = parameterDAO.findParameter(paramElement, "4"); assertNull(param); for (int i=5;i<9;i++) { param = parameterDAO.findParameter(paramElement, "Value"+i); assertEquals(i, param.getId().intValue()); } } public void testFindDefaultParameter() { ParameterElement paramElement = parameterElementDAO.read(Long.valueOf(1)); Parameter param = parameterDAO.findDefaultParameter(paramElement); assertEquals(Long.valueOf(1), param.getId()); paramElement = parameterElementDAO.read(Long.valueOf(2)); param = parameterDAO.findDefaultParameter(paramElement); assertEquals(Long.valueOf(5), param.getId()); } }