private static void testRules(CA game, int neighborCount) {
        System.out.println("Asetetaan soluautomaatin kooksi 6x3.");
        boolean[][] initialCells = Grid.getDeadGrid(6, 3);
        
        initialCells[4][1] = true;
        for(int n = 0; n < neighborCount; n++) {
            int i = n + (n >= 4 ? 1 : 0);
            int col = i % 3;
            int row = i / 3;
            initialCells[col][row] = true;
            initialCells[col + 3][row] = true;
        }
        game.setCells(initialCells);
        System.out.println("Alkutila:");
        printCells(getCells(game));
        
        System.out.println("Suoritetaan evoluutio.");
        game.evolve();
        
        System.out.println("Uusi tila:");
        printCells(getCells(game));
        System.out.println();
        
        boolean expectedState, state;
        
        expectedState = game.getRules().getBirthRule(neighborCount);
        state = game.getCell(1, 1);
        System.out.println("Solun (1, 1) odotettu tila:\t" + (expectedState ? "1" : "0"));
        System.out.println("Solun (1, 1) saatu tila:\t" + (state ? "1" : "0"));
        testResult("" + neighborCount + " naapurin syntymäsäännön toimivuus", expectedState == state);
        
        expectedState = game.getRules().getSurvivalRule(neighborCount);
        state = game.getCell(4, 1);
        System.out.println("Solun (4, 1) odotettu tila:\t" + (expectedState ? "1" : "0"));
        System.out.println("Solun (4, 1) saatu tila:\t" + (state ? "1" : "0"));
        testResult("" + neighborCount + " naapurin eloonjäämissäännön toimivuus", expectedState == state);
    }