From 044bf70e84a98b2229c899eb4bbfde19e651e0aa Mon Sep 17 00:00:00 2001 From: "koastiebratt@gmail.com" Date: Sat, 19 Sep 2020 16:15:12 -0400 Subject: [PATCH] Fixed save and load, started Junit tests --- .classpath | 7 ++ .gitignore | 3 +- .project | 17 ++++ blank_board.txt | 8 ++ src/com/dtcc/checkers/Checkers_Save_File.txt | 15 ++-- src/com/dtcc/checkers/Controller.java | 2 +- src/com/dtcc/checkers/Model.java | 19 ++++- src/com/dtcc/checkers/ModelTest.java | 88 ++++++++++++++++++++ 8 files changed, 147 insertions(+), 12 deletions(-) create mode 100644 .classpath create mode 100644 .project create mode 100644 blank_board.txt create mode 100644 src/com/dtcc/checkers/ModelTest.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..6361ddd --- /dev/null +++ b/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.gitignore b/.gitignore index 892348c..00d319d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea/* out/* -*.iml \ No newline at end of file +*.iml +/bin/ diff --git a/.project b/.project new file mode 100644 index 0000000..26b098f --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + Java-Swing-Checkers + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/blank_board.txt b/blank_board.txt new file mode 100644 index 0000000..0e0f0cd --- /dev/null +++ b/blank_board.txt @@ -0,0 +1,8 @@ +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, +{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}; \ No newline at end of file diff --git a/src/com/dtcc/checkers/Checkers_Save_File.txt b/src/com/dtcc/checkers/Checkers_Save_File.txt index fd1e71d..4c5286f 100644 --- a/src/com/dtcc/checkers/Checkers_Save_File.txt +++ b/src/com/dtcc/checkers/Checkers_Save_File.txt @@ -1,8 +1,9 @@ -EMPTY R-P EMPTY EMPTY EMPTY R-P EMPTY R-P -R-P EMPTY EMPTY EMPTY EMPTY EMPTY R-P EMPTY -EMPTY R-P EMPTY EMPTY EMPTY R-P EMPTY R-P -B-P EMPTY EMPTY EMPTY B-K EMPTY EMPTY EMPTY -EMPTY B-P EMPTY R-P EMPTY R-P EMPTY EMPTY -B-P EMPTY R-P EMPTY B-P EMPTY B-P EMPTY -EMPTY EMPTY EMPTY EMPTY EMPTY B-P EMPTY B-P +R +EMPTY R-P EMPTY R-P EMPTY R-P EMPTY R-P +R-P EMPTY R-P EMPTY R-P EMPTY R-P EMPTY +EMPTY R-P EMPTY R-P EMPTY EMPTY EMPTY R-P +EMPTY EMPTY EMPTY EMPTY R-P EMPTY EMPTY EMPTY +EMPTY EMPTY EMPTY B-P EMPTY B-P EMPTY EMPTY +B-P EMPTY EMPTY EMPTY EMPTY EMPTY B-P EMPTY +EMPTY B-P EMPTY B-P EMPTY B-P EMPTY B-P B-P EMPTY B-P EMPTY B-P EMPTY B-P EMPTY diff --git a/src/com/dtcc/checkers/Controller.java b/src/com/dtcc/checkers/Controller.java index b930e4d..3b782e0 100644 --- a/src/com/dtcc/checkers/Controller.java +++ b/src/com/dtcc/checkers/Controller.java @@ -29,7 +29,7 @@ else if(pressedKey == 's'){ Model.save(temp_board); } else if(pressedKey == 'l'){ - view.update(model.load()); + model.setBoard(model.load()); } } }; diff --git a/src/com/dtcc/checkers/Model.java b/src/com/dtcc/checkers/Model.java index 16950e1..12abc12 100644 --- a/src/com/dtcc/checkers/Model.java +++ b/src/com/dtcc/checkers/Model.java @@ -8,7 +8,7 @@ public class Model { //Default Black Starts - String turn = "B"; + static String turn = "B"; int black_count = 12; int red_count = 12; @@ -51,7 +51,9 @@ public static void save(String[][] temp) { try { PrintWriter out = new PrintWriter(new File(File)); String[][] temp_board = temp; - System.out.println(temp_board.length); + + out.print(getTurn()); + out.println(); //Rows for (int y = 0; y < temp_board.length; y++) { //Columns @@ -67,13 +69,15 @@ public static void save(String[][] temp) { } } - public static String[][] load() { + public String[][] load() { String temp_board[][] = new String[8][8]; try { Scanner input = new Scanner(new File(File)); + turn = input.nextLine(); + //Only runs while while (input.hasNext()) { //Rows @@ -548,4 +552,13 @@ else if ((move.endY == move.startY - 2 && move.endX == move.startX - 2)) { } } } + + public void setBoard(String[][] load) { + board = load; + + } + + public static String getTurn() { + return turn; + } } \ No newline at end of file diff --git a/src/com/dtcc/checkers/ModelTest.java b/src/com/dtcc/checkers/ModelTest.java new file mode 100644 index 0000000..0cbf862 --- /dev/null +++ b/src/com/dtcc/checkers/ModelTest.java @@ -0,0 +1,88 @@ +package com.dtcc.checkers; + +import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.Before; +import org.junit.jupiter.api.Test; + + +class ModelTest extends Model{ + + + @Test + void isNormalMoveNoKingLegalTest() { + + String turn = getTurn(); + String board[][] = {{"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, + {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, + {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, + {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, + {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, + {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, + {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}, + {"EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY","EMPTY"}}; + + Move move = new Move(); + board[6][5] = "R-P"; + + move.startX = 5; + move.startY = 6; + + move.endX = 6; + move.endY = 5; + + assertEquals(true, isNormalMoveNoKingLegal(move)); + + } + + @Test + void isNormalKingLegalTest() { + fail("Not yet implemented"); + } + + @Test + void isJumpMoveNoKingLegalTest() { + fail("Not yet implemented"); + } + + + + @Test + void isJumpMoveKingLegal() { + fail("Not yet implemented"); + } + + + @Test + void normalMoveNoKingTest() { + fail("Not yet implemented"); + } + + + @Test + void jumpMoveNoKingTest() { + fail("Not yet implemented"); + } + + + + @Test + void normalMoveKingTest() { + fail("Not yet implemented"); + } + + @Test + void jumpMoveKingTest() { + fail("Not yet implemented"); + } + + + + @Test + void removeJumpedPieceTest() { + fail("Not yet implemented"); + } + + +}