diff --git a/.besouro/20150930115137755/actions.txt b/.besouro/20150930115137755/actions.txt index 5e645161..0dfab216 100644 --- a/.besouro/20150930115137755/actions.txt +++ b/.besouro/20150930115137755/actions.txt @@ -1,8 +1,8 @@ -FileOpenedAction 1443603101760 SudokuVerifier.java 75 1 0 0 -EditAction 1443603121425 SudokuVerifier.java 116 1 1 0 -RefactoringAction 1443603133972 SudokuVerifier.java RENAME verify()=>int verify(String) METHOD -EditAction 1443603167403 SudokuVerifier.java 189 1 1 0 -RefactoringAction 1443603212994 TestSudokuVerifier.java ADD void test() METHOD -RefactoringAction 1443603213121 TestSudokuVerifier.java ADD import org.junit.Assert.* IMPORT -RefactoringAction 1443603213283 TestSudokuVerifier.java ADD TestSudokuVerifier.java CLASS -FileOpenedAction 1443603215695 TestSudokuVerifier.java 202 1 1 0 +FileOpenedAction 1443603101760 SudokuVerifier.java 75 1 0 0 +EditAction 1443603121425 SudokuVerifier.java 116 1 1 0 +RefactoringAction 1443603133972 SudokuVerifier.java RENAME verify()=>int verify(String) METHOD +EditAction 1443603167403 SudokuVerifier.java 189 1 1 0 +RefactoringAction 1443603212994 TestSudokuVerifier.java ADD void test() METHOD +RefactoringAction 1443603213121 TestSudokuVerifier.java ADD import org.junit.Assert.* IMPORT +RefactoringAction 1443603213283 TestSudokuVerifier.java ADD TestSudokuVerifier.java CLASS +FileOpenedAction 1443603215695 TestSudokuVerifier.java 202 1 1 0 diff --git a/.besouro/20151002114143570/actions.txt b/.besouro/20151002114143570/actions.txt new file mode 100644 index 00000000..218b5dfc --- /dev/null +++ b/.besouro/20151002114143570/actions.txt @@ -0,0 +1 @@ +FileOpenedAction 1443775303875 TestSudokuVerifier.java 216 1 1 0 diff --git a/.besouro/20151002114143570/besouroEpisodes.txt b/.besouro/20151002114143570/besouroEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002114143570/disagreements.txt b/.besouro/20151002114143570/disagreements.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002114143570/randomHeuristicEpisodes.txt b/.besouro/20151002114143570/randomHeuristicEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002114143570/userComments.txt b/.besouro/20151002114143570/userComments.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002114143570/zorroEpisodes.txt b/.besouro/20151002114143570/zorroEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002115212728/actions.txt b/.besouro/20151002115212728/actions.txt new file mode 100644 index 00000000..0cddd44b --- /dev/null +++ b/.besouro/20151002115212728/actions.txt @@ -0,0 +1 @@ +FileOpenedAction 1443775932835 TestSudokuVerifier.java 216 1 1 0 diff --git a/.besouro/20151002115212728/besouroEpisodes.txt b/.besouro/20151002115212728/besouroEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002115212728/disagreements.txt b/.besouro/20151002115212728/disagreements.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002115212728/randomHeuristicEpisodes.txt b/.besouro/20151002115212728/randomHeuristicEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002115212728/userComments.txt b/.besouro/20151002115212728/userComments.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151002115212728/zorroEpisodes.txt b/.besouro/20151002115212728/zorroEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/2015100211535716/actions.txt b/.besouro/2015100211535716/actions.txt new file mode 100644 index 00000000..71ed1a22 --- /dev/null +++ b/.besouro/2015100211535716/actions.txt @@ -0,0 +1,136 @@ +FileOpenedAction 1443776037103 SudokuVerifier.java 198 1 1 0 +EditAction 1443776561417 TestSudokuVerifier.java 221 1 1 0 +RefactoringAction 1443776585322 TestSudokuVerifier.java RENAME test()=>void testFirstRow() METHOD +UnitTestCaseAction 1443776755615 TestSudokuVerifier.java OK +UnitTestSessionAction 1443776755618 TestSudokuVerifier OK +RefactoringAction 1443776782659 TestSudokuVerifier.java ADD void test FIELD +RefactoringAction 1443776788674 TestSudokuVerifier.java RENAME test=>void testSecondRowWithFirstRow FIELD +RefactoringAction 1443776791188 TestSudokuVerifier.java RENAME testSecondRowWithFirstRow=>void testSecondRowWithFirstRow() METHOD +RefactoringAction 1443776810885 TestSudokuVerifier.java ADD import org.junit.runners.Parameterized.Parameters IMPORT +RefactoringAction 1443776817289 TestSudokuVerifier.java ADD String firstRow FIELD +RefactoringAction 1443776846316 TestSudokuVerifier.java RENAME import org.junit.runners.Parameterized.Parameters=>import org.junit.runners.Parameterized.Parameterize IMPORT +RefactoringAction 1443776857430 TestSudokuVerifier.java ADD import org.junit.runners.Parameterized.Parameter IMPORT +RefactoringAction 1443776863348 TestSudokuVerifier.java REMOVE import org.junit.runners.Parameterized.Parameterize IMPORT +EditAction 1443776874142 TestSudokuVerifier.java 404 2 2 1 +EditAction 1443776877358 TestSudokuVerifier.java 409 2 2 1 +UnitTestCaseAction 1443776882558 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443776882558 TestSudokuVerifier FAIL +RefactoringAction 1443777010854 TestSudokuVerifier.java ADD String secondRow FIELD +RefactoringAction 1443777513133 TestSudokuVerifier.java REMOVE testSecondRowWithFirstRow() METHOD +RefactoringAction 1443777527146 TestSudokuVerifier.java REMOVE secondRow FIELD +RefactoringAction 1443777527147 TestSudokuVerifier.java REMOVE firstRow FIELD +RefactoringAction 1443777554832 TestSudokuVerifier.java ADD SudokuVerifier verifier FIELD +RefactoringAction 1443777586683 TestSudokuVerifier.java RENAME testFirstRow()=>void testFirstRow(String) METHOD +RefactoringAction 1443777590944 TestSudokuVerifier.java RENAME testFirstRow(String)=>void testFirstRow() METHOD +EditAction 1443777600168 TestSudokuVerifier.java 356 1 1 0 +CompilationAction 1443777600312 TestSudokuVerifier.java +CompilationAction 1443777600312 TestSudokuVerifier.java +RefactoringAction 1443777724414 SudokuVerifier.java ADD String correctRow FIELD +RefactoringAction 1443777834962 SudokuVerifier.java REMOVE correctRow FIELD +RefactoringAction 1443777836283 TestSudokuVerifier.java ADD String correctRow FIELD +CompilationAction 1443777847840 TestSudokuVerifier.java +EditAction 1443778037058 SudokuVerifier.java 156 1 1 0 +UnitTestCaseAction 1443778037399 TestSudokuVerifier.java OK +UnitTestSessionAction 1443778037400 TestSudokuVerifier OK +RefactoringAction 1443778065839 TestSudokuVerifier.java RENAME correctRow=>String exampleRow FIELD +RefactoringAction 1443778324721 TestSudokuVerifier.java RENAME testFirstRow()=>void testVerifier() METHOD +EditAction 1443778792273 TestSudokuVerifier.java 523 1 3 1 +CompilationAction 1443778792404 TestSudokuVerifier.java +RefactoringAction 1443778917017 TestSudokuVerifier.java RENAME exampleRow=>String correctRow FIELD +RefactoringAction 1443778921531 TestSudokuVerifier.java ADD String incorrectRow FIELD +EditAction 1443778938220 TestSudokuVerifier.java 595 1 2 0 +CompilationAction 1443778938500 TestSudokuVerifier.java +CompilationAction 1443778960086 TestSudokuVerifier.java +RefactoringAction 1443779253320 TestSudokuVerifier.java REMOVE incorrectRow FIELD +RefactoringAction 1443779253321 TestSudokuVerifier.java REMOVE correctRow FIELD +EditAction 1443779494005 SudokuVerifier.java 153 1 1 0 +EditAction 1443779494112 TestSudokuVerifier.java 475 1 3 1 +UnitTestCaseAction 1443779494443 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443779494444 TestSudokuVerifier FAIL +RefactoringAction 1443779658117 SudokuVerifier.java ADD import com.sun.xml.internal.ws.util.StringUtils IMPORT +RefactoringAction 1443779675127 SudokuVerifier.java RENAME import com.sun.xml.internal.ws.util.StringUtils=>import StringUtils IMPORT +RefactoringAction 1443779716327 SudokuVerifier.java ADD import java.lang.* IMPORT +RefactoringAction 1443779738384 SudokuVerifier.java RENAME import java.lang.*=>import java.lang.StringUtils IMPORT +RefactoringAction 1443779767926 SudokuVerifier.java ADD import org.apache.commons.lang3.StringUtils IMPORT +RefactoringAction 1443779794946 SudokuVerifier.java REMOVE import org.apache.commons.lang3.StringUtils IMPORT +RefactoringAction 1443779810491 SudokuVerifier.java ADD import com.sun.xml.internal.ws.util.StringUtils IMPORT +RefactoringAction 1443779879314 SudokuVerifier.java ADD import java.util.Arrays IMPORT +RefactoringAction 1443779941480 SudokuVerifier.java ADD char FIELD +EditAction 1443780010829 SudokuVerifier.java 464 1 3 0 +UnitTestCaseAction 1443780011173 TestSudokuVerifier.java OK +UnitTestSessionAction 1443780011173 TestSudokuVerifier OK +RefactoringAction 1443780028510 TestSudokuVerifier.java ADD void testFirstRowWithSecondRow FIELD +RefactoringAction 1443780030022 TestSudokuVerifier.java RENAME testFirstRowWithSecondRow=>void testFirstRowWithSecondRow() METHOD +EditAction 1443780103862 TestSudokuVerifier.java 706 2 6 2 +CompilationAction 1443780103991 TestSudokuVerifier.java +EditAction 1443780110159 TestSudokuVerifier.java 713 2 6 2 +UnitTestCaseAction 1443780111821 TestSudokuVerifier.java OK +UnitTestSessionAction 1443780111822 TestSudokuVerifier OK +EditAction 1443780266564 SudokuVerifier.java 472 1 3 0 +UnitTestCaseAction 1443780268825 TestSudokuVerifier.java OK +UnitTestSessionAction 1443780268826 TestSudokuVerifier OK +UnitTestCaseAction 1443780410748 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443780410749 TestSudokuVerifier FAIL +UnitTestCaseAction 1443780419321 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443780419322 TestSudokuVerifier FAIL +EditAction 1443780484116 SudokuVerifier.java 547 1 3 0 +CompilationAction 1443780614515 SudokuVerifier.java +CompilationAction 1443780614516 SudokuVerifier.java +CompilationAction 1443780663467 SudokuVerifier.java +UnitTestCaseAction 1443780667341 TestSudokuVerifier.java OK +UnitTestSessionAction 1443780667342 TestSudokuVerifier OK +RefactoringAction 1443780747903 SudokuVerifier.java ADD boolean checkIfRowContainsDuplicates(char METHOD +EditAction 1443780747905 SudokuVerifier.java 768 2 6 0 +RefactoringAction 1443780758784 SudokuVerifier.java REMOVE validRow FIELD +EditAction 1443780790554 SudokuVerifier.java 770 2 7 0 +UnitTestCaseAction 1443780792916 TestSudokuVerifier.java OK +UnitTestSessionAction 1443780792916 TestSudokuVerifier OK +RefactoringAction 1443780836394 TestSudokuVerifier.java ADD void testLastRow() METHOD +RefactoringAction 1443780840908 TestSudokuVerifier.java RENAME testLastRow()=>void testLastRowForDuplicates() METHOD +EditAction 1443780872834 TestSudokuVerifier.java 950 3 9 3 +UnitTestCaseAction 1443780874770 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443780874770 TestSudokuVerifier FAIL +EditAction 1443781069752 SudokuVerifier.java 762 2 7 0 +CompilationAction 1443781069875 SudokuVerifier.java +EditAction 1443781121926 SudokuVerifier.java 775 2 8 0 +UnitTestCaseAction 1443781124013 TestSudokuVerifier.java OK +UnitTestSessionAction 1443781124013 TestSudokuVerifier OK +RefactoringAction 1443781217594 SudokuVerifier.java ADD void checkAllRows(String) METHOD +RefactoringAction 1443781249202 SudokuVerifier.java REMOVE checkAllRows(String) METHOD +RefactoringAction 1443781264992 SudokuVerifier.java ADD int checkForRows FIELD +RefactoringAction 1443781269506 SudokuVerifier.java REMOVE checkForRows FIELD +RefactoringAction 1443781272518 SudokuVerifier.java ADD boolean checkAllRows FIELD +RefactoringAction 1443781274531 SudokuVerifier.java RENAME checkAllRows=>boolean checkAllRows() METHOD +EditAction 1443781342934 SudokuVerifier.java 673 3 5 0 +CompilationAction 1443781343230 SudokuVerifier.java +RefactoringAction 1443781392296 SudokuVerifier.java RENAME checkAllRows()=>boolean checkAllRows(String) METHOD +CompilationAction 1443781395101 SudokuVerifier.java +RefactoringAction 1443781423698 TestSudokuVerifier.java ADD void test FIELD +RefactoringAction 1443781426214 TestSudokuVerifier.java RENAME test=>void testStringLength FIELD +RefactoringAction 1443781429244 TestSudokuVerifier.java RENAME testStringLength=>void testStringLength() METHOD +EditAction 1443781505620 TestSudokuVerifier.java 1184 4 12 4 +EditAction 1443781508962 SudokuVerifier.java 715 3 5 0 +UnitTestCaseAction 1443781509349 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443781509349 TestSudokuVerifier FAIL +EditAction 1443781555700 SudokuVerifier.java 716 3 5 0 +UnitTestCaseAction 1443781557617 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443781557617 TestSudokuVerifier FAIL +EditAction 1443781641268 SudokuVerifier.java 777 3 6 0 +UnitTestCaseAction 1443781643886 TestSudokuVerifier.java OK +UnitTestSessionAction 1443781643886 TestSudokuVerifier OK +EditAction 1443781907802 TestSudokuVerifier.java 1210 4 12 4 +CompilationAction 1443781908107 TestSudokuVerifier.java +CompilationAction 1443781908107 TestSudokuVerifier.java +CompilationAction 1443781908108 TestSudokuVerifier.java +EditAction 1443781941219 SudokuVerifier.java 771 3 6 0 +RefactoringAction 1443782012020 TestSudokuVerifier.java ADD void test FIELD +RefactoringAction 1443782015036 TestSudokuVerifier.java RENAME test=>void testWith FIELD +RefactoringAction 1443782016553 TestSudokuVerifier.java RENAME testWith=>void testWith() METHOD +EditAction 1443782019817 TestSudokuVerifier.java 1229 5 12 4 +EditAction 1443782054088 TestSudokuVerifier.java 1229 5 12 4 +RefactoringAction 1443782061818 TestSudokuVerifier.java RENAME testWith()=>void testWithCorrectRow() METHOD +EditAction 1443782103400 TestSudokuVerifier.java 1416 5 15 5 +UnitTestCaseAction 1443782105455 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443782105455 TestSudokuVerifier FAIL +RefactoringAction 1443782121016 SudokuVerifier.java REMOVE import com.sun.xml.internal.ws.util.StringUtils IMPORT +RefactoringAction 1443782442231 TestSudokuVerifier.java REMOVE import org.junit.runners.Parameterized.Parameter IMPORT diff --git a/.besouro/2015100211535716/besouroEpisodes.txt b/.besouro/2015100211535716/besouroEpisodes.txt new file mode 100644 index 00000000..db0f3ee0 --- /dev/null +++ b/.besouro/2015100211535716/besouroEpisodes.txt @@ -0,0 +1,27 @@ +1443776755618 refactoring 3 718 true +1443776755619 refactoring 1B 718 true +1443776755620 refactoring 2B 718 true +1443776755621 regression 1 718 true +1443778037400 test-first 1 1254 true +1443778037401 test-first 1 1254 true +1443778037402 test-first 1 1254 true +1443780011173 test-first 1 1945 true +1443780011174 test-first 1 1945 true +1443780011175 test-last 1 1945 false +1443780011176 test-first 1 1945 true +1443780011177 test-first 1 1945 true +1443780011178 test-first 1 1945 true +1443780011179 test-first 1 1945 true +1443780111822 test-addition 1 83 true +1443780268826 refactoring 2A 2 true +1443780667342 refactoring 2A 256 true +1443780792916 production 1 45 false +1443780792917 production 3 45 false +1443781124013 test-first 3 287 true +1443781124014 test-first 3 287 true +1443781124015 test-first 3 287 true +1443781124016 test-first 3 287 true +1443781643886 test-first 3 426 true +1443781643887 test-first 3 426 true +1443781643888 test-last 1 426 false +1443781643889 test-first 3 426 true diff --git a/.besouro/2015100211535716/disagreements.txt b/.besouro/2015100211535716/disagreements.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/2015100211535716/randomHeuristicEpisodes.txt b/.besouro/2015100211535716/randomHeuristicEpisodes.txt new file mode 100644 index 00000000..97e1ae53 --- /dev/null +++ b/.besouro/2015100211535716/randomHeuristicEpisodes.txt @@ -0,0 +1,9 @@ +1443776755618 refactoring 3 718 true +1443778037400 test-first 1 1254 true +1443780011173 test-first 1 1945 true +1443780111822 test-addition 1 83 false +1443780268826 refactoring 2A 2 false +1443780667342 refactoring 2A 256 true +1443780792916 production 1 45 true +1443781124013 test-first 3 287 true +1443781643886 test-first 3 426 true diff --git a/.besouro/2015100211535716/userComments.txt b/.besouro/2015100211535716/userComments.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/2015100211535716/zorroEpisodes.txt b/.besouro/2015100211535716/zorroEpisodes.txt new file mode 100644 index 00000000..dae59867 --- /dev/null +++ b/.besouro/2015100211535716/zorroEpisodes.txt @@ -0,0 +1,9 @@ +1443776755618 refactoring 3 718 true +1443778037400 test-first 1 1281 true +1443780011173 test-first 1 1973 true +1443780111822 test-addition 1 100 true +1443780268826 refactoring 2A 157 true +1443780667342 refactoring 2A 398 true +1443780792916 production 1 125 true +1443781124013 test-first 3 331 true +1443781643886 test-first 3 519 true diff --git a/.classpath b/.classpath index 3e0fb272..2d749757 100644 --- a/.classpath +++ b/.classpath @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/.gitignore b/.gitignore index ed9f7620..4e9f5ccf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/bin/ +/bin/ .DS_Store \ No newline at end of file diff --git a/.project b/.project index b273577a..fe8c58e6 100644 --- a/.project +++ b/.project @@ -1,17 +1,17 @@ - - - Sudoku - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - + + + Sudoku + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/README.md b/README.md index badc70df..e840d8d4 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# Sudoku +# Sudoku diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index a4b68fe7..dba34670 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -1,9 +1,33 @@ -package org.univoulu.tol.sqatlab.sudoku; - -public class SudokuVerifier { - - public int verify(String candidateSolution) { - // returns 1 if the candidate solution is correct - return 0; - } -} +package org.univoulu.tol.sqatlab.sudoku; + +import java.util.Arrays; + +public class SudokuVerifier { + + public int verify(String candidateSolution) { + + if(candidateSolution.length() != 81){ + return -1; + } + if(!checkAllRows(candidateSolution)){ + return -3; + } + else return 0; + } + + private boolean checkIfRowContainsDuplicates(char[] row) { + char[] validRow = {'1', '2', '3', '4', '5', '6', '7', '8', '9'}; + + return !Arrays.equals(row, validRow); + } + + private boolean checkAllRows(String candidateSolution) { + for(int i = 0; i <= 72; i = i+9){ + if(checkIfRowContainsDuplicates(candidateSolution.substring(i, i+9).toCharArray())){ + return false; + } + } + return true; + } + +} \ No newline at end of file diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index c0c92901..b267286c 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -1,14 +1,47 @@ -package org.univoulu.tol.sqatlab.sudoku; - -import static org.junit.Assert.*; - -import org.junit.Test; - -public class TestSudokuVerifier { - - @Test - public void test() { - fail("Not yet implemented"); - } - -} +package org.univoulu.tol.sqatlab.sudoku; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestSudokuVerifier { + + SudokuVerifier verifier = new SudokuVerifier(); + + @Test + public void testVerifier() { + String firstRow = "111111111222222222333333333444444444555555555666666666777777777888888888999999999"; + int result = verifier.verify(firstRow); + assertEquals(-3, result); + + } + + @Test + public void testFirstRowWithSecondRow(){ + String secondRow = "123456789222222222333333333444444444555555555666666666777777777888888888999999999"; + int result = verifier.verify(secondRow); + assertEquals(-3, result); + } + + @Test + public void testLastRowForDuplicates(){ + String secondRow = "123456789123456789123456789123456789123456789123456789123456789123456789999999999"; + int result = verifier.verify(secondRow); + assertEquals(-3, result); + } + + @Test + public void testStringLength(){ + String TooLongRow = "123423456789123456789123456789123456789123456789123456789123456789123456789999999999"; + int result = verifier.verify(TooLongRow); + assertEquals(-1, result); + } + + @Test + public void testWithCorrectRow(){ + String correctRow = "417369825632158947958724316825437169791586432346912758289643571573291684164875293"; + int result = verifier.verify(correctRow); + assertEquals(0, result); + } + +} \ No newline at end of file