⌛⌛⌛ Tilauksen JUnit-testaus

Aseta koodisi Maven-projektin hakemistorakenteen mukaisesti alihakemistoon Round11/junitorder/src/test/java/fi/tuni/prog3/junitorder. Hae tehtävän materiaalit ``student_template_project``sta.

Tässä tehtävässä kokeillaan JUnit-testien määrittämistä tilausta kuvaavalle luokalle Order (sekä sen sisäisille luokille Item ja Entry). Luokkien dokumentaatio on annettu tehtävän materiaaleissa alihakemistossa apidocs.

Tehtävänäsi on toteuttaa melko kattava joukko JUnit-testejä, jotka pyrkivät testaamaan, että luokat Order, Order.Item ja Order.Entry toimivat dokumentaatiossa määritellyllä tavalla.

Tehtävä muistuttaa luonteeltaan testivetoista kehitystä, jossa testien kehittäjillä ei ole käytettävissään varsinaista testattavaa koodia vaan testit kehitetään esim. rajapintakuvausten perusteella.

Testien kehittämisen kannalta voi olla tarpeen toteuttaa ainakin jonkinlainen omakin luokan Order toteutus (johon luonnollisesti sisältyy myös sisäiset luokat Item ja Entry).

Testauksesta

Automaattiset testit suorittavat määrittämäsi JUnit-testit ensin (tiettävästi) oikein toimiville luokkien Order, Order.Item ja Order.Entry toteutuksille. Tämän jälkeen JUnit-testisi suoritetaan 20 erilailla virheellisille toteutuksille. Jos JUnit-testisi eivät löydä virheitä oikein toimivasta toteutuksesta, saat 2 pistettä jokaista JUnit-testiesi virheelliseksi toteamaa toteutusta kohden.

Virheelliset toteutukset eivät sisällä mitään erityisen hämärää virheellistä toiminnallisuutta: niistä kukin rikkoo selkeästi vähintään yhtä dokumentaatiossa määritettyä odotettua toiminnallisuutta.

A+ esittää tässä kohdassa tehtävän palautuslomakkeen.