managertest.xdt

来自「appfuse1.9.4开发的一个简单的人事管理,简单的增删改查,修正了disp」· XDT 代码 · 共 104 行

XDT
104
字号
<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 <XDtConfig:configParameterValue paramName="basePackageName"/>.service.BaseManagerTestCase;
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/>ManagerImpl <XDtForm:classNameLower/>Manager = new <XDtForm:className/>ManagerImpl();
    private Mock <XDtForm:classNameLower/>Dao = 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:className/> <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: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 {
        <XDtForm:className/> <XDtForm:classNameLower/> = new <XDtForm:className/>();

        // 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:className/> <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 + =
减小字号Ctrl + -
显示快捷键?