Lekce 17 (27. ledna 2022)

(Automatické) testování

První kroky..

public class TestMnohocleny {
    public static void main(String[] args) {
        Mnohoclen m = new Mnohoclen(1, 2, 1);

        if (m.hodnota(0) != 1) {
            System.out.printf("Nefunguje pro 0\n");
        }

        if (m.hodnota(3) != 16) {
            System.out.printf("Nefunguje pro 3\n");
        }

        if (m.hodnota(-3) != 3) {
            System.out.printf("Nefunguje pro 3\n");
        }


    }
}

Vylepšená verze

public class TestMnohocleny {
    static int testuCelkem = 0;
    static int testuOk = 0;
    public static void zkontrolujHodnotu(Mnohoclen m, int x, int ocekavaneY) {
        testuCelkem++;
        int skutecneY = m.hodnota(x);
        if (skutecneY != ocekavaneY) {
            System.out.printf("Pro f(%d) ocekavam %d, ale mam %d.\n",
                    x, ocekavaneY, skutecneY);
            return;
        }

        testuOk++;
    }

    public static void main(String[] args) {
        Mnohoclen m = new Mnohoclen(1, 2, 1);
        zkontrolujHodnotu(m, 0, 1);
        zkontrolujHodnotu(m, 3, 16);
        zkontrolujHodnotu(m, -3, 4);

        if (testuOk == testuCelkem) {
            System.out.printf("Vse ok (%d testu)\n", testuCelkem);
        } else {
            System.out.printf("%d z %d testu selhalo",  testuCelkem - testuOk, testuCelkem);
        }
    }
}
Licence Creative Commons
Alej.alisma.cz, jejímž autorem je Vojtěch Horký, podléhá licenci
Creative Commons Uveďte autora-Zachovejte licenci 4.0 International.