Skip to content

laskari 1

mluukkai edited this page Oct 11, 2012 · 23 revisions

Tarkoitus on että osallistut johonkin viikon laskaritilaisuuksista ke 9.30-12, ke 14-17, to 9.30-12 tai to 14-17

Tehtävät tehdään paikanpäällä viikon 1 laskareissa. Tehtävien tekemisestä saa yhden kurssipisteen. Muista, että laskarit eivät ole paja, paikalle tulee saapua laskareiden aloitusaikana.

1

  • tutustu JUnit-ohjeeseen
  • lukiessasi tee testit myös itse
  • lisää lopuksi lyyrakortille seuraavat testit:
    • maukkaan lounaan syöminen ei vie saldoa negatiiviseksi, ota tähän mallia testistä syoEdullisestiEiVieSaldoaNegatiiviseksi
    • negatiivisen summan lataaminen ei muuta kortin saldoa

2

Ohjelmoinnin perusteiden tehtävässä 78 (ks. tehtävänanto) ohjelmoitiin luokka YlhaaltaRajoitettuLaskuri:

public class YlhaaltaRajoitettuLaskuri {
 
    private int arvo;
    private int ylaraja;
 
    public YlhaaltaRajoitettuLaskuri(int ylarajanAlkuarvo) {
        this.ylaraja = ylarajanAlkuarvo;
        this.arvo = 0;
    }
 
    public void seuraava() {
        if (this.arvo == this.ylaraja) {
            this.arvo = 0;
        } else {
            this.arvo++;
        }
    }
 
    public int arvo() {
        return this.arvo;
    }
 
    public void asetaArvo(int uusiArvo) {
        if (uusiArvo < 0 || uusiArvo > this.ylaraja) {
            return;
        }
 
        this.arvo = uusiArvo;
    }
 
    @Override
    public String toString() {
        String etunolla = "0";
        if (this.arvo > 9) {
            etunolla = "";
        }
        return etunolla + this.arvo;
    }
}

Tee laskurille seuraavat testit:

  • luodun laskurin alkuarvo on 0
  • kun laskuri etenee kerran, sen arvo on 1
  • kun laskuri etenee kaksi kertaa, sen arvo on 2
  • jos laskurin yläraja on n ja laskuri etenee n-1 kertaa, on laskurin arvo n-1
    • korvaa testeissä n jollain konkreettisella arvolla, esim. 4
  • jos laskurin yläraja on n ja laskuri etenee n kertaa, on laskurin arvo 0
  • jos laskurin yläraja on n ja laskuri etenee n+1 kertaa, on laskurin arvo 1
  • metodi asetaArvo asettaa arvon oikein jos parametrin arvo on välillä 0 – laskurin yläraja
  • metodi asetaArvo ei tee mitään jos parametrin arvo ei ole välillä 0 – laskurin yläraja
  • toString tuottaa etunollan jos laskurin arvo on alle 10
  • toString ei tuota etunollaa jos laskurin arvo on vähintään 10

3

4

debuggaa 1

5

Tee mahdollisimman kattavat testit Ohjelmoinnin perusteiden tehtävän 79 luokalle Lukutilasto

Lukutilaston koodi:

public class Lukutilasto {
    // alla muutaman metodin runko valmiina   
 
    private int lukujenMaara;
    private int summa;
 
    public Lukutilasto() {
        this.lukujenMaara = 0;
        this.summa = 0;
    }
 
    public void lisaaLuku(int luku) {
        this.lukujenMaara++;
        this.summa += luku;
    }
 
    public int haeLukujenMaara() {
        return this.lukujenMaara;
    }
 
    public int summa() {
        return this.summa;
    }
 
    public double keskiarvo() {
        if (this.lukujenMaara == 0) {
            return 0;
        }
 
        return 1.0 * this.summa / this.lukujenMaara;
    }
}

6

testejä 3

7

debuggaa 2