Book room means updating the record with the customer ID. No other updates is required from the client GUI. Nor will records be created or deleted from the client GUI.
I have a requirement that states that bookings are only taken within 48 hours of the start of room occupancy. This implies to me that only rooms that meet this criteria should be displayed, i.e filtering on date.
Otherwise you would end up with a list containing past and future rooms.
I think filtering on booked rooms also makes sense, as there are no requirements to view details of booked rooms.
I haven't started the GUI section, so I'm not sure what other people have done. But to me it makes sense to filter the booked rooms, so I think I will include my desision in the choice.txt.
From the requirements the system is used to booked rooms, it also implies that another application is used for reporting, so in my view it is more user friendly to provide only available rooms.
The data file will probably not contain any dates you can use to test effectively. You can write another small program that uses your Data class to change the dates on some of the records to better dates to test with. Adding GUI items to test your Data class will be tedious. I used JUnit to test out my Data class entirely before moving on to the GUI.
SCJD<br />SCJP 1.4
If I'd had more time, I would have written a shorter letter. -T.S. Eliot such a short, tiny ad:
Gift giving made easy with the permaculture playing cards