IN PROGRESS - BATCH-672: Updated tests to use EasyMock 2.4 API

This commit is contained in:
trisberg
2008-07-28 17:25:08 +00:00
parent f2635b5f90
commit 7c3e80eed8
6 changed files with 35 additions and 51 deletions

View File

@@ -1,12 +1,12 @@
package org.springframework.batch.sample.domain.trade.internal; package org.springframework.batch.sample.domain.trade.internal;
import static org.easymock.EasyMock.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import org.easymock.MockControl;
import org.springframework.batch.sample.domain.trade.CustomerCredit; import org.springframework.batch.sample.domain.trade.CustomerCredit;
import org.springframework.batch.sample.domain.trade.internal.CustomerCreditRowMapper;
import org.springframework.batch.sample.support.AbstractRowMapperTests; import org.springframework.batch.sample.support.AbstractRowMapperTests;
import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.RowMapper;
@@ -31,13 +31,10 @@ public class CustomerCreditRowMapperTests extends AbstractRowMapperTests {
return new CustomerCreditRowMapper(); return new CustomerCreditRowMapper();
} }
protected void setUpResultSetMock(ResultSet rs, MockControl rsControl) throws SQLException { protected void setUpResultSetMock(ResultSet rs) throws SQLException {
rs.getInt(CustomerCreditRowMapper.ID_COLUMN); expect(rs.getInt(CustomerCreditRowMapper.ID_COLUMN)).andReturn(ID);
rsControl.setReturnValue(ID); expect(rs.getString(CustomerCreditRowMapper.NAME_COLUMN)).andReturn(CUSTOMER);
rs.getString(CustomerCreditRowMapper.NAME_COLUMN); expect(rs.getBigDecimal(CustomerCreditRowMapper.CREDIT_COLUMN)).andReturn(CREDIT);
rsControl.setReturnValue(CUSTOMER);
rs.getBigDecimal(CustomerCreditRowMapper.CREDIT_COLUMN);
rsControl.setReturnValue(CREDIT);
} }
} }

View File

@@ -1,17 +1,16 @@
package org.springframework.batch.sample.domain.trade.internal; package org.springframework.batch.sample.domain.trade.internal;
import static org.easymock.EasyMock.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import org.easymock.MockControl;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.springframework.batch.sample.domain.trade.CustomerCredit; import org.springframework.batch.sample.domain.trade.CustomerCredit;
import org.springframework.batch.sample.domain.trade.CustomerCreditDao; import org.springframework.batch.sample.domain.trade.CustomerCreditDao;
import org.springframework.batch.sample.domain.trade.internal.CustomerCreditUpdateWriter;
public class CustomerCreditUpdateProcessorTests { public class CustomerCreditUpdateProcessorTests {
private MockControl<CustomerCreditDao> daoControl;
private CustomerCreditDao dao; private CustomerCreditDao dao;
private CustomerCreditUpdateWriter writer; private CustomerCreditUpdateWriter writer;
private static final double CREDIT_FILTER = 355.0; private static final double CREDIT_FILTER = 355.0;
@@ -19,8 +18,7 @@ public class CustomerCreditUpdateProcessorTests {
@Before @Before
public void setUp() { public void setUp() {
//create mock writer //create mock writer
daoControl = MockControl.createControl(CustomerCreditDao.class); dao = createMock(CustomerCreditDao.class);
dao = daoControl.getMock();
//create processor, set writer and credit filter //create processor, set writer and credit filter
writer = new CustomerCreditUpdateWriter(); writer = new CustomerCreditUpdateWriter();
writer.setDao(dao); writer.setDao(dao);
@@ -31,7 +29,7 @@ public class CustomerCreditUpdateProcessorTests {
public void testProcess() throws Exception { public void testProcess() throws Exception {
//set-up mock writer - no writer's method should be called //set-up mock writer - no writer's method should be called
daoControl.replay(); replay(dao);
//create credit and set it to same value as credit filter //create credit and set it to same value as credit filter
CustomerCredit credit = new CustomerCredit(); CustomerCredit credit = new CustomerCredit();
@@ -40,20 +38,20 @@ public class CustomerCreditUpdateProcessorTests {
writer.write(credit); writer.write(credit);
//verify method calls - no method should be called //verify method calls - no method should be called
//because credit is not greater then credit filter //because credit is not greater then credit filter
daoControl.verify(); verify(dao);
//change credit to be greater than credit filter //change credit to be greater than credit filter
credit.setCredit(new BigDecimal(CREDIT_FILTER + 1)); credit.setCredit(new BigDecimal(CREDIT_FILTER + 1));
//reset and set-up writer - write method is expected to be called //reset and set-up writer - write method is expected to be called
daoControl.reset(); reset(dao);
dao.writeCredit(credit); dao.writeCredit(credit);
daoControl.replay(); replay(dao);
//call tested method //call tested method
writer.write(credit); writer.write(credit);
//verify method calls //verify method calls
daoControl.verify(); verify(dao);
} }
} }

View File

@@ -27,11 +27,9 @@ import org.springframework.batch.item.ExecutionContext;
import org.springframework.batch.item.ItemStream; import org.springframework.batch.item.ItemStream;
import org.springframework.batch.item.ItemWriter; import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.sample.domain.trade.CustomerCredit; import org.springframework.batch.sample.domain.trade.CustomerCredit;
import org.springframework.batch.sample.domain.trade.internal.FlatFileCustomerCreditDao;
public class FlatFileCustomerCreditDaoTests { public class FlatFileCustomerCreditDaoTests {
//private MockControl outputControl;
private ResourceLifecycleItemWriter output; private ResourceLifecycleItemWriter output;
private FlatFileCustomerCreditDao writer; private FlatFileCustomerCreditDao writer;

View File

@@ -1,15 +1,14 @@
package org.springframework.batch.sample.domain.trade.internal; package org.springframework.batch.sample.domain.trade.internal;
import org.easymock.MockControl; import static org.easymock.EasyMock.*;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.springframework.batch.sample.domain.trade.Trade; import org.springframework.batch.sample.domain.trade.Trade;
import org.springframework.batch.sample.domain.trade.TradeDao; import org.springframework.batch.sample.domain.trade.TradeDao;
import org.springframework.batch.sample.domain.trade.internal.TradeWriter;
public class TradeProcessorTests { public class TradeProcessorTests {
private MockControl<TradeDao> writerControl;
private TradeDao writer; private TradeDao writer;
private TradeWriter processor; private TradeWriter processor;
@@ -17,8 +16,7 @@ public class TradeProcessorTests {
public void setUp() { public void setUp() {
//create mock writer //create mock writer
writerControl = MockControl.createControl(TradeDao.class); writer = createMock(TradeDao.class);
writer = writerControl.getMock();
//create processor //create processor
processor = new TradeWriter(); processor = new TradeWriter();
@@ -31,13 +29,13 @@ public class TradeProcessorTests {
Trade trade = new Trade(); Trade trade = new Trade();
//set-up mock writer //set-up mock writer
writer.writeTrade(trade); writer.writeTrade(trade);
writerControl.replay(); replay(writer);
//call tested method //call tested method
processor.write(trade); processor.write(trade);
//verify method calls //verify method calls
writerControl.verify(); verify(writer);
} }
} }

View File

@@ -1,12 +1,12 @@
package org.springframework.batch.sample.domain.trade.internal; package org.springframework.batch.sample.domain.trade.internal;
import static org.easymock.EasyMock.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import org.easymock.MockControl;
import org.springframework.batch.sample.domain.trade.Trade; import org.springframework.batch.sample.domain.trade.Trade;
import org.springframework.batch.sample.domain.trade.internal.TradeRowMapper;
import org.springframework.batch.sample.support.AbstractRowMapperTests; import org.springframework.batch.sample.support.AbstractRowMapperTests;
import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.RowMapper;
@@ -30,18 +30,11 @@ public class TradeRowMapperTests extends AbstractRowMapperTests {
return new TradeRowMapper(); return new TradeRowMapper();
} }
protected void setUpResultSetMock(ResultSet rs, MockControl rsControl) throws SQLException { protected void setUpResultSetMock(ResultSet rs) throws SQLException {
rs.getString(TradeRowMapper.ISIN_COLUMN); expect(rs.getString(TradeRowMapper.ISIN_COLUMN)).andReturn(ISIN);
rsControl.setReturnValue(ISIN); expect(rs.getLong(TradeRowMapper.QUANTITY_COLUMN)).andReturn(QUANTITY);
expect(rs.getBigDecimal(TradeRowMapper.PRICE_COLUMN)).andReturn(PRICE);
rs.getLong(TradeRowMapper.QUANTITY_COLUMN); expect(rs.getString(TradeRowMapper.CUSTOMER_COLUMN)).andReturn(CUSTOMER);
rsControl.setReturnValue(QUANTITY);
rs.getBigDecimal(TradeRowMapper.PRICE_COLUMN);
rsControl.setReturnValue(PRICE);
rs.getString(TradeRowMapper.CUSTOMER_COLUMN);
rsControl.setReturnValue(CUSTOMER);
} }
} }

View File

@@ -1,11 +1,12 @@
package org.springframework.batch.sample.support; package org.springframework.batch.sample.support;
import static org.easymock.EasyMock.*;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import junit.framework.TestCase; import junit.framework.TestCase;
import org.easymock.MockControl;
import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.RowMapper;
/** /**
@@ -19,9 +20,8 @@ public abstract class AbstractRowMapperTests extends TestCase {
private static final int IGNORED_ROW_NUMBER = 0; private static final int IGNORED_ROW_NUMBER = 0;
//mock result set //mock result set
private MockControl<ResultSet> rsControl = MockControl.createControl(ResultSet.class); private ResultSet rs = createMock(ResultSet.class);
private ResultSet rs = rsControl.getMock();
/** /**
* @return Expected result of mapping the mock <code>ResultSet</code> by * @return Expected result of mapping the mock <code>ResultSet</code> by
* the mapper being tested. * the mapper being tested.
@@ -33,18 +33,18 @@ public abstract class AbstractRowMapperTests extends TestCase {
*/ */
abstract protected RowMapper rowMapper(); abstract protected RowMapper rowMapper();
/** /*
* Define the behaviour of mock <code>ResultSet</code>. * Define the behaviour of mock <code>ResultSet</code>.
*/ */
abstract protected void setUpResultSetMock(ResultSet rs, MockControl<ResultSet> rsControl) throws SQLException; abstract protected void setUpResultSetMock(ResultSet rs) throws SQLException;
/** /*
* Regular usage scenario. * Regular usage scenario.
*/ */
public void testRegularUse() throws SQLException { public void testRegularUse() throws SQLException {
setUpResultSetMock(rs, rsControl); setUpResultSetMock(rs);
rsControl.replay(); replay(rs);
assertEquals(expectedDomainObject(), rowMapper().mapRow(rs, IGNORED_ROW_NUMBER)); assertEquals(expectedDomainObject(), rowMapper().mapRow(rs, IGNORED_ROW_NUMBER));
} }