E-mail Reminder
Een correcte implemenatie van de Klasse Afspraak, zoals beschreven in Deel 1 van de opgave, wordt automatisch toegevoegd en kan gebruikt worden tijdens het oplossen van Deel 2. Let wel op, als je zelf nog niet-gevraagde velden, constructors en/of methoden gedefinieerd had in je oplossing van Deel 1, zullen deze niet beschikbaar zijn voor dit deel.
Deel 2: Klasse EmailReminder
- Voeg aan je project een klasse EmailReminder toe. Elk EmailReminder object heeft als instantievariabelen
- een String van de vorm ‘dd/mm/yyyy’ met als naam datum voor het bijhouden van de huidige datum.
- een array van Afspraak objecten met als naam afspraken voor het bijhouden van de afspraken.
- Voeg een constructor toe. De constructor heeft twee argumenten
- Een datum als String
- Een array van Afspraak objecten
- Voeg de methode zendReminder toe. Deze methode heeft geen argumenten en zal gebruikt worden om een reminder te sturen naar alle afspraken die vandaag ingepland zijn. De reminder wordt weergegeven in de console en ziet er als volgt uit:
AAN: fg@gmail.com
Beste Frederik Gailly,
Vergeet je afspraak vandaag om 18:30 niet.
Vriendelijke Groeten
- Voeg een main-methode toe aan je klasse die gebruikt zal worden voor het testen van je klasse. De main methode moet het volgende scenario implementeren:
- Creëer 4 afspraak objecten met telkens zelf uitgevonden waarden voor de instantievariabelen. Twee van je afspraken gaan door op 27/01/2017.
- Maak een array aan en voeg de afspraken toe aan deze array.
- Creëer een EmailReminder object. Gebruik hiervoor de in vorige stap aangemaakte array. Als huidige datum gebruik je 27/01/2017.
- Test de methode zendReminder.
Hierbij nog wat uitleg over de Dodona-testen voor deze oefening:
- test00objectConcept: test of de ingediende klasse de verwachte de klasse definitie heeft (interface/abstracte klasse/klasse/enum/…).
- test01inheritance: test of de ingediende klasse de verwachte superklasse heeft en de verwachte interfaces implementeert.
- test02variables_presence: test of de ingediende klasse de verwachte instantievariabelen en statische variabelen definieert.
- test03variables_staticInitialValue: test of de statische variabelen van de klasse geinitialiseerd worden met de verwachte waarde (indien van toepassing).
- test04constructor: test of de constructor het gewenste effect heeft (indien van toepassing).
- test05constructor_null: test de constructor met een scenario waarin de meegegeven array een of meerdere null-waarden bevat.
- test06methodsPresent: test of de verwachte methodes aanwezig zijn in de ingediende klasse en of de methode definities overeenkomen met de verwachte definities (= test geen effect!).
- test07accessorsMutators: test of de ingediende klasse de al dan niet verwachte accessor- en mutatormethodes definieert en of deze het verwachte effect hebben.
- test08zendReminder: test de zendReminder-methode.
- test09zendReminder_null: test de zendReminder-methode voor het scenario dat ‘afspraken’ een of meerdere null-waarden bevat.