JUnit


Materiály

    
    // Soubor Main.java

    public class Main {

        public static void main(String[] args) {
            System.out.println(fact(5));
        }

        public static int fact(int n) throws IllegalArgumentException {
            if (n < 0) {
                throw new IllegalArgumentException("Factorial of negative number is not defined.");
            }
            return n <= 1 ? 1 : n * fact(n - 1);
        }
    }

    //Soubor s testy


    import org.junit.Test;
    import static org.junit.Assert.*;

    public class MainTest {
        @Test
        public void factZero() {
            int result = Main.fact(0);
            assertEquals(1, result);
        }

        @Test
        public void factFive() {
            int result = Main.fact(5);
            assertEquals(120, result);
        }
    }
    

Úkoly

  1. Navrhněte jednotkové testy pro metodu rpnCalc. Ověřte, že je testy pokryta většina kódu včetně chybových stavů.

  2. Navrhněte jednotkové testy pro metody void writeTextMatrix(Writer writer, int[][] matrix) a int[][] readTextMatrix(Reader r) z minulého semináře. Ověřte, že je testy pokryta většina kódu včetně chybových stavů.

Úkoly posílejte na email r.vyjidacek@gmail.com s předmětem ZP3JV12. Termín odevzdání do půlnoci 17. 12. 2017. Odevzdávejte pouze zdrojové kódy v archivu zip.