CSC 309 Lecture Notes Weeks 6 and 7
Design Refinement
Introduction to Code Coverage Measures
public class SomeModelClass
extends Model {
...
}
model = new SomeModelClass(); /* Put some data in model ... */ FileOutputStream outFile = new FileOutputStream( "model.dat"); ObjectOutputStream outStream = new ObjectOutputStream(outFile); outStream.writeObject(model);
FileInputStream inFile =
new FileInputStream("model.dat");
ObjectInputStream inStream =
new ObjectInputStream(inFile);
model = (SomeModelClass)
inStream.readObject();
public class View implements Observer {
. . .
}
public class Model extends Observable implements Serializable {
. . .
}
public class UserCalendar extends Model {
. . .
public void add(ScheduledItem item) {
. . .
items.add(item);
setChanged();
}
}
. . .
public class OKScheduleEVentButtonListener implements ActionListener {
public void actionPerformed() {
try {
schedule.scheduleEvent(
new caltool.schedule.Event(
...
)
);
}
. . .
schedule.notifyObservers();
. . .
}
}
. . .
public class MonthlyAgenda extends View {
public MonthlyAgenda(caltool.view.View view, UserCalendar userCalendar) {
. . .
userCalendar.addObserver(this)
}
public void update(Observable o, Object arg) {
/* Get items for this month from MonthylyAgenda model and update display */
}
}
-- Now onto Some General Topics of Design Refinement --
-- And Finally, a Brief Introduction to Code Coverage
With More to Follow in the Week 8 Lecture Notes