Wed, 26 Aug 2020 19:09:07 +0200
fixes wrong call of assertEquals()
universe@22 | 1 | package de.uapcore.sudoku; |
universe@22 | 2 | |
universe@22 | 3 | import org.junit.jupiter.api.Test; |
universe@22 | 4 | |
universe@22 | 5 | import static org.junit.jupiter.api.Assertions.*; |
universe@22 | 6 | |
universe@22 | 7 | class FieldTest { |
universe@22 | 8 | |
universe@22 | 9 | private int[] createTestdata() { |
universe@22 | 10 | return new int[]{ |
universe@22 | 11 | 0,1,0,9,0,0,8,0,0, |
universe@22 | 12 | 0,0,0,0,0,8,0,0,4, |
universe@22 | 13 | 6,0,5,0,0,0,7,0,0, |
universe@22 | 14 | 0,9,0,0,6,0,0,0,8, |
universe@22 | 15 | 0,0,0,2,0,7,0,0,0, |
universe@22 | 16 | 8,0,0,0,3,0,0,6,0, |
universe@22 | 17 | 0,0,2,0,0,0,5,0,3, |
universe@22 | 18 | 1,0,0,4,0,0,0,0,0, |
universe@22 | 19 | 0,0,6,0,0,2,0,1,0}; |
universe@22 | 20 | } |
universe@22 | 21 | |
universe@22 | 22 | private Field createTestField() { |
universe@22 | 23 | final var field = new Field(); |
universe@22 | 24 | final var testdata = createTestdata(); |
universe@22 | 25 | for (int x = 0 ; x < 9 ; x++) { |
universe@22 | 26 | for (int y = 0 ; y < 9 ; y++) { |
universe@22 | 27 | field.setCellValue(x, y, testdata[x+9*y]); |
universe@22 | 28 | } |
universe@22 | 29 | } |
universe@22 | 30 | return field; |
universe@22 | 31 | } |
universe@22 | 32 | |
universe@22 | 33 | @Test |
universe@22 | 34 | void getAndSetValues() { |
universe@22 | 35 | final var f = new Field(); |
universe@22 | 36 | assertEquals(0, f.getCellValue(3, 4)); |
universe@22 | 37 | assertTrue(f.isCellEmpty(3, 4)); |
universe@22 | 38 | f.setCellValue(3, 4, 6); |
universe@25 | 39 | assertEquals(6, f.getCellValue(3, 4)); |
universe@22 | 40 | assertFalse(f.isCellEmpty(3, 4)); |
universe@22 | 41 | } |
universe@22 | 42 | |
universe@22 | 43 | @Test |
universe@22 | 44 | void setAllCellsModified() { |
universe@22 | 45 | final var f = new Field(); |
universe@22 | 46 | |
universe@22 | 47 | assertFalse(f.isAnyCellModified()); |
universe@22 | 48 | f.setAllCellsModified(true); |
universe@22 | 49 | for (int x = 0 ; x < 9 ; x++) { |
universe@22 | 50 | for (int y = 0 ; y < 9 ; y++) { |
universe@22 | 51 | assertTrue(f.isCellModified(x, y)); |
universe@22 | 52 | } |
universe@22 | 53 | } |
universe@22 | 54 | |
universe@22 | 55 | f.setAllCellsModified(false); |
universe@22 | 56 | assertFalse(f.isAnyCellModified()); |
universe@22 | 57 | } |
universe@22 | 58 | |
universe@22 | 59 | @Test |
universe@22 | 60 | void isAnyCellModified() { |
universe@22 | 61 | final var f = new Field(); |
universe@22 | 62 | |
universe@22 | 63 | assertFalse(f.isAnyCellModified()); |
universe@22 | 64 | f.setCellValue(3, 4, 6); |
universe@22 | 65 | assertFalse(f.isAnyCellModified()); |
universe@22 | 66 | f.setCellModified(3, 4, true); |
universe@22 | 67 | assertTrue(f.isAnyCellModified()); |
universe@22 | 68 | } |
universe@22 | 69 | |
universe@22 | 70 | @Test |
universe@22 | 71 | void clear() { |
universe@22 | 72 | final var f = new Field(); |
universe@22 | 73 | f.setCellValue(3, 4, 6); |
universe@22 | 74 | f.setCellValue(2, 5, 9); |
universe@22 | 75 | f.clear(); |
universe@22 | 76 | for (int x = 0 ; x < 9 ; x++) { |
universe@22 | 77 | for (int y = 0 ; y < 9 ; y++) { |
universe@22 | 78 | assertTrue(f.isCellEmpty(x, y)); |
universe@22 | 79 | } |
universe@22 | 80 | } |
universe@22 | 81 | } |
universe@22 | 82 | |
universe@22 | 83 | @Test |
universe@22 | 84 | void getSquare() { |
universe@22 | 85 | final var field = createTestField(); |
universe@22 | 86 | |
universe@22 | 87 | final var square01 = new int[][]{ |
universe@22 | 88 | new int[]{0,0,8}, |
universe@22 | 89 | new int[]{9,0,0}, |
universe@22 | 90 | new int[]{0,0,0}}; |
universe@22 | 91 | |
universe@22 | 92 | final var square01actual = field.getSquare(0, 1); |
universe@22 | 93 | assertEquals(3, square01actual.length); |
universe@22 | 94 | for (int i = 0 ; i < 3 ; i++) { |
universe@22 | 95 | assertArrayEquals(square01[i], square01actual[i]); |
universe@22 | 96 | } |
universe@22 | 97 | |
universe@22 | 98 | final var square20 = new int[][]{ |
universe@22 | 99 | new int[]{8,0,7}, |
universe@22 | 100 | new int[]{0,0,0}, |
universe@22 | 101 | new int[]{0,4,0}}; |
universe@22 | 102 | |
universe@22 | 103 | final var square20actual = field.getSquare(2, 0); |
universe@22 | 104 | assertEquals(3, square20actual.length); |
universe@22 | 105 | for (int i = 0 ; i < 3 ; i++) { |
universe@22 | 106 | assertArrayEquals(square20[i], square20actual[i]); |
universe@22 | 107 | } |
universe@22 | 108 | } |
universe@22 | 109 | |
universe@22 | 110 | @Test |
universe@22 | 111 | void getRow() { |
universe@22 | 112 | final var field = createTestField(); |
universe@22 | 113 | |
universe@22 | 114 | final var row3 = new int[]{0,9,0,0,6,0,0,0,8}; |
universe@22 | 115 | final var row4 = new int[]{0,0,0,2,0,7,0,0,0}; |
universe@22 | 116 | |
universe@22 | 117 | assertArrayEquals(row3, field.getRow(3)); |
universe@22 | 118 | assertArrayEquals(row4, field.getRow(4)); |
universe@22 | 119 | } |
universe@22 | 120 | |
universe@22 | 121 | @Test |
universe@22 | 122 | void getColumn() { |
universe@22 | 123 | final var field = createTestField(); |
universe@22 | 124 | |
universe@22 | 125 | final var col2 = new int[]{0,0,5,0,0,0,2,0,6}; |
universe@22 | 126 | final var col6 = new int[]{8,0,7,0,0,0,5,0,0}; |
universe@22 | 127 | |
universe@22 | 128 | assertArrayEquals(col2, field.getColumn(2)); |
universe@22 | 129 | assertArrayEquals(col6, field.getColumn(6)); |
universe@22 | 130 | } |
universe@22 | 131 | |
universe@22 | 132 | @Test |
universe@22 | 133 | void getSquareIAE() { |
universe@22 | 134 | final var field = createTestField(); |
universe@22 | 135 | assertThrows(IllegalArgumentException.class, () -> field.getSquare(3, 2)); |
universe@22 | 136 | assertThrows(IllegalArgumentException.class, () -> field.getSquare(2, 3)); |
universe@22 | 137 | assertThrows(IllegalArgumentException.class, () -> field.getSquare(2, -1)); |
universe@22 | 138 | assertThrows(IllegalArgumentException.class, () -> field.getSquare(-1, 2)); |
universe@22 | 139 | } |
universe@22 | 140 | |
universe@22 | 141 | @Test |
universe@22 | 142 | void getRowIAE() { |
universe@22 | 143 | final var field = createTestField(); |
universe@22 | 144 | assertThrows(IllegalArgumentException.class, () -> field.getRow(9)); |
universe@22 | 145 | assertThrows(IllegalArgumentException.class, () -> field.getRow(-1)); |
universe@22 | 146 | } |
universe@22 | 147 | |
universe@22 | 148 | @Test |
universe@22 | 149 | void getColumnIAE() { |
universe@22 | 150 | final var field = createTestField(); |
universe@22 | 151 | assertThrows(IllegalArgumentException.class, () -> field.getColumn(9)); |
universe@22 | 152 | assertThrows(IllegalArgumentException.class, () -> field.getColumn(-1)); |
universe@22 | 153 | } |
universe@22 | 154 | } |