⌛⌛⌛ Tilauksen JUnit-testaus

Tässä tehtävässä on tavoitteena toteuttaa melko kattava joukko JUnit-testejä tilausta kuvaavalle luokalle Order sekä sen sisäisille luokille Item ja Entry. Luokkien dokumentaatio on annettu materiaalien etätietovaraston round11\junitorder\apidocs-hakemistossa.

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

Testien määrittelyn ohessa voi olla tarpeen tehdä ainakin jonkinlainen omakin luokan Order toteutus, johon luonnollisesti sisältyvät myös sisäiset luokat Item ja Entry.

Organisoi koodisi Maven-projektin mukaiseen hakemistorakenteeseen. Aseta testiluokkasi hakemistoon round11/junitorder/src/test/java/fi/tuni/prog3/junitorder. Sijoita puolestaan Order-luokka sisäluokkineen hakemistoon round11/junitorder/src/main/java/fi/tuni/prog3/junitorder, jos toteutat nämä luokat. On suositeltavaa nimetä testiluokat niin, että nimi päättyy merkkijonoon Test.java (esim. OrderTest.java), muuten Junit ei välttämättä tunnista niitä testiluokiksi.

Testauksesta

Automaattiset testit suorittavat määrittämäsi JUnit-testit ensin luokkien Order, Order.Item ja Order.Entry oikein toimiville toteutuksille. Tämän jälkeen JUnit-testisi suoritetaan 20 erilailla virheelliselle toteutukselle. Jos JUnit-testisi eivät löydä virheitä oikein toimivasta toteutuksesta, saat kaksi 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.