对于下面给定的类,我被要求使用新的 TimeTest
来测试该类。具有方法的类 doTest()
在我的 Time
中尝试这些方法类(class)。我之前通过 main
测试过类(class)方法,但我不知道如何使用类来测试类。有人可以帮助我开始吗?
public class Time {
private int minute;
private int hour;
private int totalMinute;
public Time() {
minute = 0;
hour = 0;
}
public Time(int hours, int minutes) {
setHour(hours);
setMinute(minutes);
}
private void setHour(int hours) {
if (hours < 24 && hours >= 0) {
hour = hours;
} else {
hour = 0;
}
}
private void setMinute(int minutes) {
if (minutes < 60 && minutes >= 0) {
minute = minutes;
} else {
minute = 0;
}
}
public void setTime(int hours, int minutes) {
setHour(hours);
setMinute(minutes);
}
public int getElapsedTime(Time that) {
int thisTime = this.getTotalMinutes();
int thatTime = that.getTotalMinutes();
if (thisTime > thatTime) {
return thisTime - thatTime;
}
return thatTime - thisTime;
}
private int getTotalMinutes() {
totalMinute = (hour * 60) + minute;
return totalMinute;
}
public String getAsString() {
if (hour < 10 && minute < 10) {
return "0" + hour + ":0" + minute;
} else if (hour < 10 && minute >= 10) {
return "0" + hour + ":" + minute;
} else if (hour >= 10 && minute < 10) {
return hour + ":0" + minute;
} else {
return hour + ":" + minute;
}
}
}
最佳答案
这里是可能满足您要求的类(class)。如果您不想在此类中使用 main 方法,请在另一个类中编写 main 方法,并创建 TimeTest 对象并从具有 main 方法的类中调用 doTest(time) 方法。
public class TimeTest {
public static void main(String[] args) {
Time time = new Time();
time.setTime(10, 10);
doTest(time);
}
private static void doTest(Time time) {
//set the time to 10 hours and 10 minutes
System.out.println("Get as String: " + time.getAsString());
// set the new time to test the getElapsedTime(time) method
Time newTime = new Time(11, 30);
System.out.println("Get Elapsed Time: " + time.getElapsedTime(newTime) + " minutes");
}
}
谢谢
关于java - 使用一个类来测试另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13577368/