📄 ctester.java
字号:
//我怕我哪里理解错了,这个程序跟我以前做的不太一样,以前是订票的时候不固定座位的,换登机牌的时候才定的座位。。所以我一开始就想错了。。
//你自己再改改吧。如果出错,我做了控制台红字提示,应该很容易找到出错的地方。。
//也可以再添加功能,我只把要求中必做的都做了。。有好多注释的地方你都留意一下,也许要改。。
import java.io.*;
import java.util.Iterator;
public class CTester {
/* Standard output stream */
private static PrintWriter stdOut = new PrintWriter(System.out, true);
/* Standard error stream */
private static PrintWriter stdErr = new PrintWriter(System.err, true);
public static void assertTrue(String message, boolean condition) {
if (!condition) {
stdErr.print("** Test failure ");
stdErr.println(message);
}
}
public static void main(String[] args) {
String flightID = "1234";
String xinghao = "asdf";// 飞机型号??????
String start = "Shenzhen";// 出发地??
String destination = "Dalian";
String takingOffTime = "2009.02.10 3:50";// 起飞时间???
int capability = 30;// 座位数目???
CPassenger passenger = new CPassenger("P001", "Female", "China",
"luanma");
CPassenger p = new CPassenger("P002", "Male", "USA", "lkjadsf");
CFlight f = new CFlight(flightID, xinghao, start, destination,
takingOffTime, capability);
CReservation r = new CReservation();
r.addFlight(f);
// Test accessors
// CPassenger toString
String result = "P001_China_luanma_Female";//预计结果
assertTrue("1: testing CPassenger method toString", result
.equals(passenger.toString()));
stdOut.println("1: testing CPassenger method toString:\n" + "预计结果:"
+ result + "\n实际结果:" + passenger.toString());
// CFlight toString
result = flightID + "_" + xinghao + "_" + start + "_" + destination
+ "_" + takingOffTime + "_" + capability;
assertTrue("2: testing CFlight method toString", result.equals(f
.toString()));
stdOut.println("2: testing CFlight method toString\n" + "预计结果:"
+ result + "\n实际结果:" + f.toString());
// CReservation newFlight
r.newFlight();
result = "1234_asdf_Shenzhen_Dalian_2009.02.10 3:50_30"
+ "7777_nnnnnnnnn_Shanghai_Guangzhou_2009.01.15 14:20_10"
+ "747_guizhidao_Shenyang_Beijing_2008.12.21 18:00_20";
String results = "";// results为实际结果
for (Iterator i = r.getFlightsIterator(); i.hasNext();) {
CFlight ff = (CFlight) i.next();
results += ff.toString();
}
assertTrue("3: testing CFlight method newFight", result.equals(results));
stdOut.println("3: testing CReservation method newFlight\n" + "预计结果:"
+ result + "\n实际结果:" + results);
// CReservation book
r.book(f, passenger, "S9");
result = "S9";
assertTrue("4: testing CReservation method book", result
.equals(passenger.getSeatID()));
stdOut.println("4: testing CReservation method book\n" + "预计结果:"
+ result + "\n实际结果:" + passenger.getSeatID());
// CReservation check
result = "S0S1S2S3S4S5S6S7S8S10S11S12S13S14S15S16S17S18S19S20S21S22S23S24S25S26S27S28S29";
assertTrue("5: testing CReservation method check", result.equals(r
.check(f)));
stdOut.println("5: testing CReservation method check\n" + "预计结果:"
+ result + "\n实际结果:" + r.check(f));
// CReservation cancel
r.cancel(f, passenger, "S9");
result = "S0S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16S17S18S19S20S21S22S23S24S25S26S27S28S29";
assertTrue("6: testing CReservation method cancel", result.equals(r
.check(f)));
stdOut.println("6: testing CReservation method cancel\n" + "预计结果:"
+ result + "\n实际结果:" + r.check(f));
// CReservation searchPassenger//错误测试还没做,比如没找到人怎么办。。
r.book(f, passenger, "S9");
result = "P001_China_luanma_Female";
assertTrue("7: testing CReservation method searchPassenger", result
.equals(r.searchPassenger("1234", "S9")));
stdOut.println("7: testing CReservation method searchPassenger\n"
+ "预计结果:" + result + "\n实际结果:"
+ r.searchPassenger("1234", "S9"));
// CReservation searchFlight
result = "1234_asdf_Shenzhen_Dalian_2009.02.10 3:50_30";
assertTrue("8: testing CReservation method searchFlight", result
.equals(r.searchFlight(passenger)));
stdOut.println("8: testing CReservation method searchFlight\n"
+ "预计结果:" + result + "\n实际结果:" + r.searchFlight(passenger));
// CReservation passengList
r.book(f, p, "S3");
result = "P001_China_luanma_FemaleP002_USA_lkjadsf_Male";
assertTrue("9: testing CReservation method passengList", result
.equals(r.passengList(f)));
stdOut.println("9: testing CReservation method passengList\n" + "预计结果:"
+ result + "\n实际结果:" + r.passengList(f));
stdOut.println("done");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -