/* * lab4_test.cpp * * Created on: Apr 4, 2019 * Author: johnsontimoj */ /////////////////////////// // // Tests for lab 4 // /////////////////////////// #include using namespace std; ///////////////////////////////// // Test for proper inclusions // only include highest level derived classes // No error code - just failure to compile // #include "Police.h" #include "LongHaul.h" #include "Local.h" #include "Personal.h" void pv(Vehicle v); void pp(Personal p); void pe(Emergency e); void pc(Commercial c); void pep(Police p); void pclh(LongHaul lh); void pcl(Local l); int main(void){ // locations vector l1(2,1); vector l2(2,2); vector l3(2,3); vector l4(2,4); vector sd1(2, 1.1); vector sd2(2, 2.2); vector sd3(2, 3.3); vector sd4(2, 4.4); /////////////////// // Test Vehicle class /////////////////// // test constructors Vehicle v1; Vehicle v2(22, 4, 120); Vehicle v3(23, 5, 121, 4, l1); Vehicle v[4]; // test setters v[0].setVehicle(24,6,122); v[1].setVehicle(25, 7, 123, 5, l2); v[2].setPlate(26); v[2].setNumWheels(8); v[2].setMaxSpeed(124); v[2].setSpeed(6); v[2].setLocation(l3); // getters tested in print routine // print outputs for checking cout << "-------- Vehicle test ------------------" << endl; pv(v1); cout << endl; pv(v2); cout << endl; pv(v3); cout << endl; pv(v[0]); cout << endl; pv(v[1]); cout << endl; pv(v[2]); cout << endl; cout << endl; /////////////////// // Test Personal class /////////////////// // test constructors Personal p1; Personal p2(22, 4, 120); Personal p3(23, 5, 121, 4, l1, 3); Personal p[4]; // test setters p[0].setPersonal(24,6,122); p[1].setPersonal(25, 7, 123, 5, l2, 4); p[2].setPlate(26); p[2].setNumWheels(8); p[2].setMaxSpeed(124); p[2].setSpeed(6); p[2].setLocation(l3); p[2].setNumPass(5); // getters tested in print routine // print outputs for checking cout << "-------- Personal - Vehicle test ------------------" << endl; pp(p1); cout << endl; pp(p2); cout << endl; pp(p3); cout << endl; pp(p[0]); cout << endl; pp(p[1]); cout << endl; pp(p[2]); cout << endl; cout << endl; /////////////////// // Test Emergency class /////////////////// // test constructors Emergency e1; Emergency e2(22, 4, 120); Emergency e3(23, 5, 121, 4, l1, "on"); Emergency e[4]; // test setters e[0].setEmergency(24,6,122); e[1].setEmergency(25, 7, 123, 5, l2, "ON"); e[2].setPlate(26); e[2].setNumWheels(8); e[2].setMaxSpeed(124); e[2].setSpeed(6); e[2].setLocation(l3); e[2].setSiren("OFF"); // getters tested in print routine // print outputs for checking cout << "-------- Emergency - Vehicle test ------------------" << endl; pe(e1); cout << endl; pe(e2); cout << endl; pe(e3); cout << endl; pe(e[0]); cout << endl; pe(e[1]); cout << endl; pe(e[2]); cout << endl; cout << endl; /////////////////// // Test Commercial class /////////////////// // test constructors Commercial c1; Commercial c2(22, 4, 120); Commercial c3(23, 5, 121, 4, l1, "abc"); Commercial c[4]; // test setters c[0].setCommercial(24,6,122); c[1].setCommercial(25, 7, 123, 5, l2, "def"); c[2].setPlate(26); c[2].setNumWheels(8); c[2].setMaxSpeed(124); c[2].setSpeed(6); c[2].setLocation(l3); c[2].setCoName("ghi"); // getters tested in print routine // print outputs for checking cout << "-------- Commercial - Vehicle test ------------------" << endl; pc(c1); cout << endl; pc(c2); cout << endl; pc(c3); cout << endl; pc(c[0]); cout << endl; pc(c[1]); cout << endl; pc(c[2]); cout << endl; cout << endl; /////////////////// // Test Police class /////////////////// // test constructors Police ep1; Police ep2(true); Police ep3(23, 5, 121, 4, l1, "on", false); Police ep[4]; // test setters ep[0].setPolice(false); ep[1].setPolice(25, 7, 123, 5, l2, "ON", true); ep[2].setPlate(26); ep[2].setNumWheels(8); ep[2].setMaxSpeed(124); ep[2].setSpeed(6); ep[2].setLocation(l3); ep[2].setSiren("OFF"); // getters tested in print routine // print outputs for checking cout << "-------- Police - Emergency - Vehicle test ------------------" << endl; pep(ep1); cout << endl; pep(ep2); cout << endl; pep(ep3); cout << endl; pep(ep[0]); cout << endl; pep(ep[1]); cout << endl; pep(ep[2]); cout << endl; cout << endl; /////////////////// // Test LongHaul class /////////////////// // test constructors LongHaul clh1; LongHaul clh2(sd3, sd2, 200); LongHaul clh3(23, 5, 121, 4, l1, "abc", sd1, sd2, 200); LongHaul clh[4]; // test setters clh[0].setLongHaul(sd2, sd1, 300); clh[1].setLongHaul(25, 7, 123, 5, l2, "def", sd3, sd4, 400); clh[2].setPlate(26); clh[2].setNumWheels(8); clh[2].setMaxSpeed(124); clh[2].setSpeed(6); clh[2].setLocation(l3); clh[2].setCoName("ghi"); clh[2].setSrc(sd4); clh[2].setDst(sd3); clh[2].setTarWeight(500); // getters tested in print routine // print outputs for checking cout << "-------- LongHaul - Commercial - Vehicle test ------------------" << endl; pclh(clh1); cout << endl; pclh(clh2); cout << endl; pclh(clh3); cout << endl; pclh(clh[0]); cout << endl; pclh(clh[1]); cout << endl; pclh(clh[2]); cout << endl; cout << endl; /////////////////// // Test Local class /////////////////// // test constructors Local cl1; Local cl2("tyu", "ghj", true); Local cl3(23, 5, 121, 4, l1, "abc", "asd", "zxc", false); Local cl[4]; // test setters cl[0].setLocal("iop", "jkl", true); cl[1].setLocal(25, 7, 123, 5, l2, "def", "fgh", "vbn", false); cl[2].setPlate(26); cl[2].setNumWheels(8); cl[2].setMaxSpeed(124); cl[2].setSpeed(6); cl[2].setLocation(l3); cl[2].setCoName("ghi"); cl[2].setWarehouse("fed"); cl[2].setDelivery("dsa"); cl[2].setOnBoard(true); // getters tested in print routine // print outputs for checking cout << "-------- Local - Commercial - Vehicle test ------------------" << endl; pcl(cl1); cout << endl; pcl(cl2); cout << endl; pcl(cl3); cout << endl; pcl(cl[0]); cout << endl; pcl(cl[1]); cout << endl; pcl(cl[2]); cout << endl; cout << endl; } void pv(Vehicle v){ cout << "vehicle: "; cout << v.getPlate() << "\t"; cout << v.getNumWheels() << "\t"; cout << v.getMaxSpeed() << "\t"; cout << v.getSpeed() << "\t"; vector tmp; tmp = v.getLocation(); cout << tmp[0] << "," << tmp[1] << "\t"; return; } void pp(Personal p){ pv(p); cout << p.getNumPass(); return; } void pe(Emergency e){ pv(e); cout << e.getSiren() << "\t"; return; } void pc(Commercial c){ pv(c); cout << c.getCoName() << "\t"; return; } void pep(Police p){ pe(p); cout << p.getOnDuty(); return; } void pclh(LongHaul lh){ pc(lh); vector tmp2; tmp2 = lh.getSrc(); cout << tmp2[0] << ":" << tmp2[1] << "\t"; tmp2 = lh.getDst(); cout << tmp2[0] << ":" << tmp2[1] << "\t"; cout << lh.getTarWeight() << " "; return; } void pcl(Local l){ pc(l); cout << l.getWarehouse() << "\t" << l.getDelivery() << "\t" << l.getOnBoard(); return; }