实验二
1、 学习单元测试和代码覆盖率工具的使用
(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);
(2)编写单元测试进行测试;
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class AnalysisWorld {
private Map<String,Integer> Worlds;;
public AnalysisWorld(String printWorlds){
Worlds = this.getArray(printWorlds);
}
private Map<String, Integer> getArray(String printWorlds) {
String Worlds_Array[] = printWorlds.split(" ");
Map<String,Integer> Worlds_Map = new HashMap<String, Integer>();
for(int i=0;i<Worlds_Array.length;i++){
if(!Worlds_Map.containsKey(Worlds_Array[i])){
Worlds_Map.put(Worlds_Array[i], 1);
}else{
int currentWorld = Worlds_Map.get(Worlds_Array[i])+1;
Worlds_Map.remove(Worlds_Array[i]);
Worlds_Map.put(Worlds_Array[i], currentWorld);
}
}
return Worlds_Map;
}
public void OutPut(){
Set s = Worlds.keySet();
Iterator i = s.iterator();
while(i.hasNext()){
Object o = i.next();
System.out.println(o+"出现了"+Worlds.get(o)+"次!");
}
}
public static void main(String[] args) {
AnalysisWorld a =new AnalysisWorld("This is a a text");
a.OutPut();
}
}
2、 学习单元测试代码覆盖率工具的使用
(1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;
(2)编写单元测试进行测试;
(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。
public class TurnWorld {
String printWorlds;
public TurnWorld(String printWorlds){
this.printWorlds = printWorlds;
}
public void onTurn(){
String[] Worlds_Array = printWorlds.split(" ");
StringBuffer NWorlds_Array = new StringBuffer();
for(int i=Worlds_Array.length-1;i>=0;i--){
NWorlds_Array.append(Worlds_Array[i]+" ");
}
System.out.println(NWorlds_Array);
}
public static void main(String[] args) {
TurnWorld t = new TurnWorld("Hello World");
t.onTurn();
}
}