Changeset 414 in Java_Quellcode_SOOP_Vorlesung


Ignore:
Timestamp:
Nov 27, 2018, 9:35:54 AM (6 years ago)
Author:
tr
Message:

Sudokusolver und TDD

Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • arrays/SudokuSolver.java

    r395 r414  
    208208        int[][] sudoku;
    209209        sudoku = sudokuSchnell;
    210         // sudoku = sudokuLangsam;
     210        sudoku = sudokuLangsam;
    211211        // sudoku = sudokuLeer;
    212212
  • tdd/filmverleih/AllTests.java

    r188 r414  
    66
    77@RunWith(Suite.class)
    8 @SuiteClasses({ FilmTest.class, KundeTest.class })
     8@SuiteClasses({ FilmTest.class })
    99public class AllTests {}
  • tdd/filmverleih/Film.java

    r188 r414  
    22
    33public class Film {
    4     public static final double BASISPREIS = 2.0;
    5     public static final double TAGESPREIS = 1.75;
    6     public static final int DISCOUNT_TAGE = 2;
    74
    8     public static double leihen(int tage) {
    9         double preis = BASISPREIS;
     5    public static final int TAGESPREIS = 2;
     6    public static final int DISCOUNTPREIS = 3;
     7    public static final int DISCOUNTTAGE = 2;
     8   
     9    /**
     10     * Ein Film kostet 3 Euro für die ersten beiden Tage zusammen und für jeden
     11     * weiteren Tag 2 Euro.
     12     *
     13     * @param tage Anzahl der Tage, für die der Film ausgeliehen werden soll
     14     * @return Preis für die Ausleihe des Films
     15     */
     16    public static int berechneFilmPreis(int tage) {
     17        int preis = 0;
    1018       
    11         if (tage > DISCOUNT_TAGE) {
    12             preis = preis + TAGESPREIS * (tage - DISCOUNT_TAGE);
     19        if (tage > 0) {
     20            preis = DISCOUNTPREIS;
    1321        }
     22       
     23        if (tage > DISCOUNTTAGE) {
     24            preis = preis + (tage - DISCOUNTTAGE) * TAGESPREIS;
     25        }
     26       
    1427        return preis;
    1528    }
     29
     30    public static int berechneGesamtPreis(int[] paket) {
     31        int gesamt = 0;
     32       
     33        for (int film = 0; film < paket.length; film++) {
     34            gesamt = gesamt + berechneFilmPreis(paket[film]);
     35        }
     36       
     37        return gesamt;
     38    }
    1639}
  • tdd/filmverleih/FilmTest.java

    r188 r414  
    66
    77public class FilmTest {
    8 
     8   
    99    @Test
    10     public void testLeiheFuerEinenTag() {
    11         // Einen Film für einen Tag leihen
    12         assertEquals(2.0, Film.leihen(1), 0.0001);
     10    public void leiheEinenFilmEinenTag() {
     11        int preis = Film.berechneFilmPreis(1);
     12        assertEquals(3, preis);
     13    }
     14   
     15    @Test
     16    public void leiheEinenFilmZweiTage() {
     17        int preis = Film.berechneFilmPreis(2);
     18        assertEquals(3, preis);     
     19    }
     20   
     21    @Test
     22    public void leiheEinenFilmVierTage() {
     23        int preis = Film.berechneFilmPreis(4);
     24        assertEquals(7, preis);     
     25    }
     26   
     27    @Test
     28    public void leiheEinenFilmNullTage() {
     29        int preis = Film.berechneFilmPreis(0);
     30        assertEquals(0, preis);     
     31    }
     32   
     33    @Test
     34    public void leiheZweiFilmeEinenTag() {
     35        int[] tage = {1, 1};
     36       
     37        int gesamt = Film.berechneGesamtPreis(tage);
     38       
     39        assertEquals(6, gesamt);
     40    }
     41   
     42    @Test
     43    public void leiheVierFilmeDiverseTage() {
     44        int[] tage = {2, 1, 6, 3};
     45       
     46        int gesamt = Film.berechneGesamtPreis(tage);
     47       
     48        assertEquals(22, gesamt);
    1349    }
    1450
    15     @Test
    16     public void testLeiheFuerZweiTage() {
    17         // Einen Film für einen Tag leihen
    18         assertEquals(2.0, Film.leihen(2), 0.0001);
    19     }
    20 
    21     @Test
    22     public void testLeiheFuerFuenfTage() {
    23         // Einen Film für einen Tag leihen
    24         assertEquals(7.25, Film.leihen(5), 0.0001);
    25     }
    26 
    27     @Test
    28     public void testLeiheFuerSiebzehnTage() {
    29         // Einen Film für einen Tag leihen
    30         assertEquals(28.25, Film.leihen(17), 0.0001);
    31     }
    3251}
Note: See TracChangeset for help on using the changeset viewer.