⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managertest.xdt

📁 this is for appfuse1.8 source using strut 1.x, spring and hibernate.
💻 XDT
字号:
<XDtTagDef:tagDef namespace="Form" handler="org.example.antbook.xdoclet.FormTagsHandler"/>
<XDtTagDef:tagDef namespace="MethodEx" handler="org.example.antbook.xdoclet.MethodExTagsHandler"/>
package <XDtForm:parentPackageName/>.service;

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

import <XDtForm:parentPackageName/>.dao.<XDtForm:className/>DAO;
import <XDtPackage:packageName/>.<XDtForm:className/>;
import <XDtForm:parentPackageName/>.service.impl.<XDtForm:className/>ManagerImpl;

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

public class <XDtForm:className/>ManagerTest extends BaseManagerTestCase {
    private final String <XDtForm:classNameLower/>Id = "1";
    private <XDtForm:className/>Manager <XDtForm:classNameLower/>Manager = new <XDtForm:className/>ManagerImpl();
    private Mock <XDtForm:classNameLower/>DAO = null;
    private <XDtForm:className/> <XDtForm:classNameLower/> = null;

    protected void setUp() throws Exception {
        super.setUp();
        <XDtForm:classNameLower/>DAO = new Mock(<XDtForm:className/>DAO.class);
        <XDtForm:classNameLower/>Manager.set<XDtForm:className/>DAO((<XDtForm:className/>DAO) <XDtForm:classNameLower/>DAO.proxy());
    }

    protected void tearDown() throws Exception {
        super.tearDown();
        <XDtForm:classNameLower/>Manager = null;
    }

    public void testGet<XDtForm:className/>s() throws Exception {
        List results = new ArrayList();
        <XDtForm:classNameLower/> = new <XDtForm:className/>();
        results.add(<XDtForm:classNameLower/>);

        // set expected behavior on dao
        <XDtForm:classNameLower/>DAO.expects(once()).method("get<XDtForm:className/>s")
            .will(returnValue(results));

        List <XDtForm:classNameLower/>s = <XDtForm:classNameLower/>Manager.get<XDtForm:className/>s(null);
        assertTrue(<XDtForm:classNameLower/>s.size() == 1);
        <XDtForm:classNameLower/>DAO.verify();
    }

    public void testGet<XDtForm:className/>() throws Exception {
        // set expected behavior on dao
        <XDtForm:classNameLower/>DAO.expects(once()).method("get<XDtForm:className/>")
            .will(returnValue(new <XDtForm:className/>()));
        <XDtForm:classNameLower/> = <XDtForm:classNameLower/>Manager.get<XDtForm:className/>(<XDtForm:classNameLower/>Id);
        assertTrue(<XDtForm:classNameLower/> != null);
        <XDtForm:classNameLower/>DAO.verify();
    }

    public void testSave<XDtForm:className/>() throws Exception {
        // set expected behavior on dao
        <XDtForm:classNameLower/>DAO.expects(once()).method("save<XDtForm:className/>")
            .with(same(<XDtForm:classNameLower/>)).isVoid();

        <XDtForm:classNameLower/>Manager.save<XDtForm:className/>(<XDtForm:classNameLower/>);
        <XDtForm:classNameLower/>DAO.verify();
    }

    public void testAddAndRemove<XDtForm:className/>() throws Exception {
        <XDtForm:classNameLower/> = new <XDtForm:className/>();

        // set required fields
        <XDtMethod:forAllMethods>
        <XDtMethod:ifMethodTagValueEquals tagName="hibernate.property" paramName="not-null" value="true">
        <XDtMethodEx:setterWithValue/>
        </XDtMethod:ifMethodTagValueEquals>
        </XDtMethod:forAllMethods>

        // set expected behavior on dao
        <XDtForm:classNameLower/>DAO.expects(once()).method("save<XDtForm:className/>")
            .with(same(<XDtForm:classNameLower/>)).isVoid();
        <XDtForm:classNameLower/>Manager.save<XDtForm:className/>(<XDtForm:classNameLower/>);
        <XDtForm:classNameLower/>DAO.verify();

        // reset expectations
        <XDtForm:classNameLower/>DAO.reset();

        <XDtForm:classNameLower/>DAO.expects(once()).method("remove<XDtForm:className/>").with(eq(new <XDtMethodEx:idField getType="propertyType"/>(<XDtForm:classNameLower/>Id)));
        <XDtForm:classNameLower/>Manager.remove<XDtForm:className/>(<XDtForm:classNameLower/>Id);
        <XDtForm:classNameLower/>DAO.verify();

        // reset expectations
        <XDtForm:classNameLower/>DAO.reset();
        // remove
        Exception ex = new ObjectRetrievalFailureException(<XDtForm:className/>.class, <XDtForm:classNameLower/>.<XDtMethodEx:idField getType="getterName"/>());
        <XDtForm:classNameLower/>DAO.expects(once()).method("remove<XDtForm:className/>").isVoid();
        <XDtForm:classNameLower/>DAO.expects(once()).method("get<XDtForm:className/>").will(throwException(ex));
        <XDtForm:classNameLower/>Manager.remove<XDtForm:className/>(<XDtForm:classNameLower/>Id);
        try {
            <XDtForm:classNameLower/>Manager.get<XDtForm:className/>(<XDtForm:classNameLower/>Id);
            fail("<XDtForm:className/> with identifier '" + <XDtForm:classNameLower/>Id + "' found in database");
        } catch (ObjectRetrievalFailureException e) {
            assertNotNull(e.getMessage());
        }
        <XDtForm:classNameLower/>DAO.verify();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -