...
| Denne jextest-koden tester Account-klassen i pakken stateandbehavior. Siden det ikke er noen instance-deklarasjon så defineres en instans av Account med account som navn. Denne blir implisitt i state-blokkene i testene. Nederst defineres en hjelpemetode, som redefinerer ==-operatoren for double-verdier. Dette gjør at alle testene av balance og interestRate, som begge er double-verdier, kaller denne metoden og i praksis tar høyde for avrundingsfeil. constructor-sekvensen sjekker bare den initielle tilstanden til den implisitte Account-instansen og vi bruker derfor -->-notasjonen. deposit-sekvensen sjekker tilstanden etter et kall til deposit(100) på den implisitte Account-instansen. depositNegative-sekvensen sjekker tilstanden etter et kall til deposit(-50) på den implisitte Account-instansen, som i dette tilfellet skal være uendret. addInterest-sekvensen setter først rentefoten med en tilordning. I denne oppgaven legger vi opp til at det ikke brukes synlighetsmodifikatorer, så dette er enkel tilordning av interesRate-feltet. Deretter kalles deposit(100) og addInterest. Etter begge disse trinnene sjekkes at tilstanden er korrekt.
Her forklarer vi koden i mer detalj... |