The EventDatabase will only need to access Event's detail to get appropriate information to put into tables unless the event is already exist in the database. Therefore we should define the condition for two events to be the same. I think it should be enough to check the name, location(street,city,zip), and time to determine if they are in fact the same. The Event class should be simple enough to have been finished by the time EventDatabase is finished and ready to be tested.