我在写一个CreditCard的测试用例时不知怎样去写了,因为卡的类型有三种(VISA,DISCOVER,MASTER),账户长度也有三种(6;15;16),我把源代码贴出来,望大家帮我看看。源文件package Account; public class CreditCard { String cardType;
String cardNumber;
String cardExpDate; //final String CC_DATA_FILE = "CC.txt"; final String CC_DATA_FILE = "CreditCardInfo.txt"; //constructor of CreditCard
public CreditCard(String ccType, String ccNumber,
String ccExpDate)
{
cardType = ccType;
cardNumber = ccNumber;
cardExpDate = ccExpDate;
} //check if the credit card number is valid or not
//length of number for Visa is 16
//length of number for Discover is 15
//length of number for MASTER is 16
public boolean isValid() {
/*
Let's go with simpler validation
here to keep the example simpler.
*/
if (getCardType().equals(AccountManager.VISA)) {
return (getCardNumber().trim().length() == 6);
}
if (getCardType().equals(AccountManager.DISCOVER)) {
return (getCardNumber().trim().length() == 15);
}
if (getCardType().equals(AccountManager.MASTER)) {
return (getCardNumber().trim().length() == 16);
} return false;
} //save credit card info to cc.txt
public boolean save() {
FileUtil futil = new FileUtil();
String dataLine =
getCardType() + "," + getCardNumber() + "," +
getCardExpDate();
return futil.writeToFile(CC_DATA_FILE, dataLine, true,
true);
}
public String getCardType() {
return cardType;
}
public String getCardNumber() {
return cardNumber;
}
public String getCardExpDate() {
return cardExpDate;
}} 我写的测试代码package Account;import javax.swing.JTextField;import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;import junit.framework.TestCase;public class CreditCardTest extends TestCase {
// log4j日志部分开始
private static final String LOG4J_PROPERTIES = "log4j.properties";
static final Logger logger = (Logger) Logger.getLogger(CreditCardTest.class.getName());
private static void readCfg()
{
PropertyConfigurator.configure (LOG4J_PROPERTIES);
}
// log4j日志部分结束
private CreditCard creditCard;
private CreditCard creditCard1;
private CreditCard creditCard2;
public CreditCardTest(String name)
{
super(name);
} protected void setUp() throws Exception
{
super.setUp(); //看看我在是不是错了
creditCard = new CreditCard("111222","2008-11-23","VISA");
creditCard1 = new CreditCard("111222333444555","2008-11-23","DISCOVER");
creditCard2 = new CreditCard("1112223334445556","2008-11-23","MASTER");
} protected void tearDown() throws Exception
{
super.tearDown();
} public void testIsValid()
{
// fail("尚未实现");
boolean expectedReturn = true;
boolean actualReturn = creditCard.isValid();
assertEquals("return value",expectedReturn,actualReturn);
//日志
PropertyConfigurator.configure("D:\\My Documents\\XDE Workspace\\Test\\log4j.properties");
readCfg();
logger.info("Input Address isValid =" + creditCard.isValid());
logger.info("expectedReturn = "+expectedReturn);
logger.info("actualReturn = "+creditCard.isValid());
if(expectedReturn==actualReturn)
{
logger.info("IsValidTest() passed.");
}
else
{
logger.error("IsValidTest() failed.");
}
} public void testSave()
{
// fail("尚未实现");
boolean expectedReturn = true;
boolean actualReturn = creditCard.save();
assertEquals("return value",expectedReturn,actualReturn);
// 日志
PropertyConfigurator.configure("D:\\My Documents\\XDE Workspace\\Test\\log4j.properties");
readCfg();
logger.info("Input Account save =" + creditCard.save());
logger.info("expectedReturn = "+expectedReturn);
logger.info("actualReturn = "+creditCard.save());
if(expectedReturn==actualReturn)
{
logger.info("IsValidTest() passed.");
}
else
{
logger.error("IsValidTest() failed.");
} public void testGetCardType()
{
//fail("尚未实现"); //望哪位大侠把这个给我写一下,其他的我就照着这个自己写。
CreditCard m = creditCard;
CreditCard expectedReturn = creditCard1;
CreditCard actualReturn = creditCard2.isValid(m);
} public void testGetCardNumber()
{
fail("尚未实现");
} public void testGetCardExpDate()
{
fail("尚未实现");
}}
String cardNumber;
String cardExpDate; //final String CC_DATA_FILE = "CC.txt"; final String CC_DATA_FILE = "CreditCardInfo.txt"; //constructor of CreditCard
public CreditCard(String ccType, String ccNumber,
String ccExpDate)
{
cardType = ccType;
cardNumber = ccNumber;
cardExpDate = ccExpDate;
} //check if the credit card number is valid or not
//length of number for Visa is 16
//length of number for Discover is 15
//length of number for MASTER is 16
public boolean isValid() {
/*
Let's go with simpler validation
here to keep the example simpler.
*/
if (getCardType().equals(AccountManager.VISA)) {
return (getCardNumber().trim().length() == 6);
}
if (getCardType().equals(AccountManager.DISCOVER)) {
return (getCardNumber().trim().length() == 15);
}
if (getCardType().equals(AccountManager.MASTER)) {
return (getCardNumber().trim().length() == 16);
} return false;
} //save credit card info to cc.txt
public boolean save() {
FileUtil futil = new FileUtil();
String dataLine =
getCardType() + "," + getCardNumber() + "," +
getCardExpDate();
return futil.writeToFile(CC_DATA_FILE, dataLine, true,
true);
}
public String getCardType() {
return cardType;
}
public String getCardNumber() {
return cardNumber;
}
public String getCardExpDate() {
return cardExpDate;
}} 我写的测试代码package Account;import javax.swing.JTextField;import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;import junit.framework.TestCase;public class CreditCardTest extends TestCase {
// log4j日志部分开始
private static final String LOG4J_PROPERTIES = "log4j.properties";
static final Logger logger = (Logger) Logger.getLogger(CreditCardTest.class.getName());
private static void readCfg()
{
PropertyConfigurator.configure (LOG4J_PROPERTIES);
}
// log4j日志部分结束
private CreditCard creditCard;
private CreditCard creditCard1;
private CreditCard creditCard2;
public CreditCardTest(String name)
{
super(name);
} protected void setUp() throws Exception
{
super.setUp(); //看看我在是不是错了
creditCard = new CreditCard("111222","2008-11-23","VISA");
creditCard1 = new CreditCard("111222333444555","2008-11-23","DISCOVER");
creditCard2 = new CreditCard("1112223334445556","2008-11-23","MASTER");
} protected void tearDown() throws Exception
{
super.tearDown();
} public void testIsValid()
{
// fail("尚未实现");
boolean expectedReturn = true;
boolean actualReturn = creditCard.isValid();
assertEquals("return value",expectedReturn,actualReturn);
//日志
PropertyConfigurator.configure("D:\\My Documents\\XDE Workspace\\Test\\log4j.properties");
readCfg();
logger.info("Input Address isValid =" + creditCard.isValid());
logger.info("expectedReturn = "+expectedReturn);
logger.info("actualReturn = "+creditCard.isValid());
if(expectedReturn==actualReturn)
{
logger.info("IsValidTest() passed.");
}
else
{
logger.error("IsValidTest() failed.");
}
} public void testSave()
{
// fail("尚未实现");
boolean expectedReturn = true;
boolean actualReturn = creditCard.save();
assertEquals("return value",expectedReturn,actualReturn);
// 日志
PropertyConfigurator.configure("D:\\My Documents\\XDE Workspace\\Test\\log4j.properties");
readCfg();
logger.info("Input Account save =" + creditCard.save());
logger.info("expectedReturn = "+expectedReturn);
logger.info("actualReturn = "+creditCard.save());
if(expectedReturn==actualReturn)
{
logger.info("IsValidTest() passed.");
}
else
{
logger.error("IsValidTest() failed.");
} public void testGetCardType()
{
//fail("尚未实现"); //望哪位大侠把这个给我写一下,其他的我就照着这个自己写。
CreditCard m = creditCard;
CreditCard expectedReturn = creditCard1;
CreditCard actualReturn = creditCard2.isValid(m);
} public void testGetCardNumber()
{
fail("尚未实现");
} public void testGetCardExpDate()
{
fail("尚未实现");
}}
解决方案 »
- 关于JAVA中使用log4J,不用配置文件,卡主了
- 毕业设计lucene用哪个版本好。
- label和input输入域提交数据
- 师兄们帮忙啊呵呵呵 谢谢
- 为什么我在配置spring的<bean>的<property>标签时,提示未定义类
- jfreechart问题 大侠帮忙解决 谢谢
- 请教各位关于JDOM中的XPath的问题
- jbuilder 中更改了数据源。发布时候报错
- Together for eclips 中如何将已有的项目代码自动生成类图??
- 请问有没有关于怎么在j2ee中开发xml的资料,最好能详细一点!
- Spring Security 用户权限管理
- 紧急请教weblogic启动出现的问题
{
//fail("尚未实现");
assertEquals(AccountManager.VISA, creditCard.getCardType());
assertEquals(AccountManager.DISCOVER, creditCard1.getCardType());
assertEquals(AccountManager.MASTER, creditCard2.getCardType());
}
像下面的这样,在testGetCardType() 函数中如何写expectedReturn 和actualReturn ?[/color]boolean expectedReturn = true;
boolean actualReturn = creditCard.isValid();