Package com.vst.service

Source Code of com.vst.service.MeasureManagerTest

package com.vst.service;

import java.util.List;
import java.util.ArrayList;

import com.vst.service.BaseManagerTestCase;
import com.vst.dao.MeasureDao;
import com.vst.model.Measure;
import com.vst.service.impl.MeasureManagerImpl;

import org.jmock.Mock;
import org.springframework.orm.ObjectRetrievalFailureException;

public class MeasureManagerTest extends BaseManagerTestCase {
    private final String measureId = "1";
    private MeasureManagerImpl measureManager = new MeasureManagerImpl();
    private Mock measureDao = null;

    protected void setUp() throws Exception {
        super.setUp();
        measureDao = new Mock(MeasureDao.class);
        measureManager.setMeasureDao((MeasureDao) measureDao.proxy());
    }

    protected void tearDown() throws Exception {
        super.tearDown();
        measureManager = null;
    }

    public void testGetMeasures() throws Exception {
        List results = new ArrayList();
        Measure measure = new Measure();
        results.add(measure);

        // set expected behavior on dao
        measureDao.expects(once()).method("getMeasures")
            .will(returnValue(results));

        List measures = measureManager.getMeasures(null);
        assertTrue(measures.size() == 1);
        measureDao.verify();
    }

    public void testGetMeasure() throws Exception {
        // set expected behavior on dao
        measureDao.expects(once()).method("getMeasure")
            .will(returnValue(new Measure()));
        Measure measure = measureManager.getMeasure(measureId);
        assertTrue(measure != null);
        measureDao.verify();
    }

    public void testSaveMeasure() throws Exception {
        Measure measure = new Measure();

        // set expected behavior on dao
        measureDao.expects(once()).method("saveMeasure")
            .with(same(measure)).isVoid();

        measureManager.saveMeasure(measure);
        measureDao.verify();
    }

    public void testAddAndRemoveMeasure() throws Exception {
        Measure measure = new Measure();

        // set required fields

        // set expected behavior on dao
        measureDao.expects(once()).method("saveMeasure")
            .with(same(measure)).isVoid();
        measureManager.saveMeasure(measure);
        measureDao.verify();

        // reset expectations
        measureDao.reset();

        measureDao.expects(once()).method("removeMeasure").with(eq(new Long(measureId)));
        measureManager.removeMeasure(measureId);
        measureDao.verify();

        // reset expectations
        measureDao.reset();
        // remove
        Exception ex = new ObjectRetrievalFailureException(Measure.class, measure.getMeasureId());
        measureDao.expects(once()).method("removeMeasure").isVoid();
        measureDao.expects(once()).method("getMeasure").will(throwException(ex));
        measureManager.removeMeasure(measureId);
        try {
            measureManager.getMeasure(measureId);
            fail("Measure with identifier '" + measureId + "' found in database");
        } catch (ObjectRetrievalFailureException e) {
            assertNotNull(e.getMessage());
        }
        measureDao.verify();
    }
}
TOP

Related Classes of com.vst.service.MeasureManagerTest

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.