我在理解普通的一段java代码和通过JUnit测试的代码之间的区别时遇到了问题。在我的代码和JUNIT测试中遇到问题
我在过去的4周里每周都会为学校写过评论,而且我已经得到了0/100(自动标记),但是TA对我很好,给了我一些标志着接近正确的答案。
本周我有同样的事情..我有一个代码,我认为是正确的,并遵循作业说明。
你能帮我以某种方式“转换”我的代码,以便通过JUnit测试吗?
谢谢..这里是我的代码应该做的:
所需的(公共)方法的描述:
/* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
- @参数字符串表示的inputPath本地文件系统路径
- 到输入文件
- @Returns包含字处理>计数映射 * 一个HashMap 10
- 此方法必须读取文件(由inputFilePath标识)的内容,同时
- 一个字符,查找文件中的作者,并保持作者的跟踪
- 计数的java.util.HashMap中。
-
- 的作者定义为出现
的“”和“”标签其自身内部出现“”和“”标签之间
- 字符的连续序列。
- ''是一个开始标签,和''对应的结束标签。同样,
- ''是一个开始标签,和''其对应的结束标签。*
- 与HW4一样,您必须使用状态转换图来识别这些标签,并在它们之间的文本识别这些问题的解决方案
- 。 *
- 您还必须准备绘制一张合适的状态转换图,以便于下周的写作。
-
- 您只能使用CharacterFromFileReader从输入
- 文件读取字符。 * * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **/
,这里是我的代码:
public class Temp {
@Test public void temp(String path) {
CharacterFromFileReader reader = new CharacterFromFileReader(path);
HashMap<String, Integer> map = new HashMap<String, Integer>();
int authorCount = 0;
int state = 0;
String s = "";
for (int i=0; i<s.length(); i++) {
while (reader.hasNext()) {
char c = s.charAt(i);
switch (state) {
case 1:
if (c == '<') {
state = 2;
}
break;
case 2:
if (c == 'D') {
state = 3;
} else {state = 1;}
break;
case 3:
if (c == '>') {
state = 4;
} else {state = 1;}
break;
case 4:
if (c == '<') {
state = 5;
} else {state = 4;}
break;
case 5:
if (c == 'A') {
state = 6;
} else {state = 4;}
break;
case 6:
if (c == '>') {
state = 7;
} else {state = 4;}
break;
case 7:
if (c != '<') {
s += c;
} else if (c == '<') {
state = 8;
} else {state = 7;}
break;
case 8:
if (c == 'a') {
state = 9;
} else {state = 7;}
break;
case 9:
if (c == '>') {
state = 10;
authorCount++;
map.put(s, authorCount);
} else {state = 7;}
break;
case 10:
if (c == '<') {
state = 11;
}
break;
case 11:
if (c == 'A') {
state = 5;
} else if (c == 'd') {
state = 12;
} else {state = 10;}
break;
case 12:
if (c == '>') {
System.out.println(map);
}
break;
}
}
}
}
}
你可以发布你的作业问题吗?所以我们知道这个源代码试图做什么。然后我们可以看看它,并给你更多的信息。 – Halfwarr 2012-02-27 02:16:40
或者提供JUnit测试用例(如果有的话)...我假设您的代码应该由您的老师给出的测试用例调用。 – NightWolf 2012-02-27 02:39:29