TestTeil2

 avatar
unknown
plain_text
a year ago
3.0 kB
9
Indexable
package de.uni_bremen.pi2;

// INVALID, VALID und SOLVED können direkt verwendet werden.
import static de.uni_bremen.pi2.InsectHotel.Result.*;
import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

public class InsectHotelTest
{
    /**
     * Ein komplexer Test aus dem ursprünglichen Puzzle.
     * Ist standardmäßig deaktiviert.
     */
    @Test
    public void testComplex()
    {
        final String[] puzzle = {
                "X       ",
                " OO     ",
                "   X   O",
                "O       ",
                "  XO  X ",
                "X X     ",
                "     X  ",
                "     X  "
        };
        final String[] solution = {
                "XXOOXOOX",
                "XOOXOOXX",
                "OOXXOXXO",
                "OXOOXXOX",
                "XOXOXOXO",
                "XOXXOOXO",
                "OXOXOXOX",
                "OXXOXXOO"
        };
        assertArrayEquals(solution, InsectHotel.solve(puzzle));
    }

    // Die eigentlichen Tests...
    @Test
    public void testFillComplexPuzzle() {
        final String[] puzzle = {
                "X       ",
                " OO     ",
                "   X   O",
                "O       ",
                "  XO  X ",
                "X X     ",
                "     X  ",
                "     X  "
        };
        final String entries = "XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO";
        final String[] expected = {
                "XXOXOXOX",
                "OOOXOXOX",
                "OXOXXOXO",
                "OOXOXOXO",
                "XOXOXOXX",
                "XOXXOXOX",
                "OXO  X  ",
                "     X  "
        };
        assertArrayEquals(expected, InsectHotel.fill(puzzle, entries));
    }

    @Test
    public void testCheckComplexPuzzle() {
        final String[] validPuzzle = {
                "XXOOXOOX",
                "XOOXOOXX",
                "OOXXOXXO",
                "OXOOXXOX",
                "XOXOXOXO",
                "XOXXOOXO",
                "OXOXOXOX",
                "OXXOXXOO"
        };
        assertEquals(SOLVED, InsectHotel.check(validPuzzle));
    }

    @Test
    public void testSolveComplexPuzzle() {
        final String[] puzzle = {
                "X       ",
                " OO     ",
                "   X   O",
                "O       ",
                "  XO  X ",
                "X X     ",
                "     X  ",
                "     X  "
        };
        final String[] expected = {
                "XXOOXOOX",
                "XOOXOOXX",
                "OOXXOXXO",
                "OXOOXXOX",
                "XOXOXOXO",
                "XOXXOOXO",
                "OXOXOXOX",
                "OXXOXXOO"
        };
        assertArrayEquals(expected, InsectHotel.solve(puzzle));
    }
}

Editor is loading...
Leave a Comment