src/test/java/de/uapcore/sudoku/FieldTest.java

Wed, 26 Aug 2020 19:09:07 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 26 Aug 2020 19:09:07 +0200
changeset 25
569220009c54
parent 22
06170a0be62a
permissions
-rw-r--r--

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 }

mercurial