求助,Junit单元测试

pei_xiao_wen 2012-06-06 04:20:03
下面这个小程序的单元测试怎么写,(参数化方法)
public class Money
{
public String MoneyToString(double x)
//将x表示的金额转换成中文大写形式
{
String yuan="亿千百拾万千百拾元角分";
String digit="零壹贰叁肆伍陆柒捌玖";
//字符串长度digit.length()为10
String result="";
int y=(int)Math.round(x*100-0.5);
//浮点数扩充100倍后取整(即保留两位小数)
System.out.println("y="+y);
int i=yuan.length()-1;
if(y%100==0){
result = "整"+result;
i=i-2;
y=y/100;
}
System.out.println("y="+y);
boolean b1=true,b2=true;
while (y>0 && i>0)
{
if(y % 10!=0)
result = ""+digit.charAt(y % 10)+yuan.charAt(i)+result;
//转换最低位,一个汉字为一个Unicode字符
else {
if(i==8){
result="元"+result;
b1=false;
}
else if(b1&&b2){
result="零"+result;
b2=false;
}
}
i--;
y=y/10;

}
return result;
}
}
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pei_xiao_wen 2012-06-11
  • 打赏
  • 举报
回复
这里有一个具体的实例化方法:



import static org.junit.Assert.*;

import java.util.Arrays;
import java.util.Collection;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class MoneyTest {

Money m;
private double double1;
private String result;
public MoneyTest(String b,double a)
{ this.result=b;
this.double1=a;

}
//@SuppressWarnings("unchecked")
@Parameters
public static Collection MoneyToStringResult(){
return Arrays.asList(new Object[][]{
{"叁拾肆元整",34},{"叁拾肆元零捌分",34.08},{"叁拾元整",30}
});

}

@Before
public void setUp() throws Exception {
m=new Money();
}

@After
public void tearDown() throws Exception {
m=null;
}

@Test
public void testMoneyToString() {
assertEquals(result,m.moneyToString(double1) );
}

}
pei_xiao_wen 2012-06-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

package day;
Scanner console=new Scanner(System.in);
w……
[/Quote]
import java.util.Scanner;

public class MoneyDemo {
public static void main(String[] args) {
Money money=new Mo




谢谢了~
軒轅劍 2012-06-07
  • 打赏
  • 举报
回复
在一个不带参数的方法里,实例化一个 Money对象,调用MoneyToString这个方法
javascript前锋 2012-06-07
  • 打赏
  • 举报
回复
package day;

import java.util.Scanner;

public class MoneyDemo {
public static void main(String[] args) {
Money money=new Money();
Scanner console=new Scanner(System.in);
while(true){
double dou=console.nextDouble();
String str=money.MoneyToString(dou);
System.out.println(str);
}
}

}测试没问题,不知道是否符合要求。

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧