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/20151009215441321/actions.txt b/.besouro/20151009215441321/actions.txt
new file mode 100644
index 00000000..b189c361
--- /dev/null
+++ b/.besouro/20151009215441321/actions.txt
@@ -0,0 +1,44 @@
+FileOpenedAction 1444398882209 SudokuVerifier.java 198 1 1 0
+FileOpenedAction 1444398897638 TestSudokuVerifier.java 216 1 1 0
+RefactoringAction 1444399279434 SudokuVerifier.java ADD String sub FIELD
+RefactoringAction 1444399293064 SudokuVerifier.java ADD Object check9() METHOD
+EditAction 1444399304830 SudokuVerifier.java 308 2 2 0
+EditAction 1444399308898 TestSudokuVerifier.java 312 1 4 1
+UnitTestCaseAction 1444399339993 TestSudokuVerifier.java FAIL
+UnitTestSessionAction 1444399339999 TestSudokuVerifier FAIL
+RefactoringAction 1444399419234 SudokuVerifier.java ADD int FIELD
+UnitTestCaseAction 1444399478079 TestSudokuVerifier.java OK
+UnitTestSessionAction 1444399478080 TestSudokuVerifier OK
+EditAction 1444399488629 TestSudokuVerifier.java 312 1 4 1
+UnitTestCaseAction 1444399490635 TestSudokuVerifier.java FAIL
+UnitTestSessionAction 1444399490636 TestSudokuVerifier FAIL
+RefactoringAction 1444399521725 TestSudokuVerifier.java RENAME test()=>void testCheck() METHOD
+RefactoringAction 1444399522751 TestSudokuVerifier.java RENAME testCheck()=>void testCheck9() METHOD
+RefactoringAction 1444399552816 TestSudokuVerifier.java ADD void testCheck9()/2 METHOD
+RefactoringAction 1444399649097 TestSudokuVerifier.java REMOVE testCheck9()/2 METHOD
+RefactoringAction 1444399749609 SudokuVerifier.java RENAME sub=>p String FIELD
+RefactoringAction 1444399751641 SudokuVerifier.java RENAME String=>String sub FIELD
+EditAction 1444399760838 TestSudokuVerifier.java 318 1 4 1
+EditAction 1444399761081 SudokuVerifier.java 1552 2 10 0
+CompilationAction 1444399762195 TestSudokuVerifier.java
+UnitTestCaseAction 1444399771142 TestSudokuVerifier.java FAIL
+UnitTestSessionAction 1444399771143 TestSudokuVerifier FAIL
+EditAction 1444399813661 SudokuVerifier.java 1731 4 12 0
+UnitTestCaseAction 1444399876833 TestSudokuVerifier.java OK
+UnitTestSessionAction 1444399876833 TestSudokuVerifier OK
+RefactoringAction 1444399885202 TestSudokuVerifier.java ADD void testCheck9()/2 METHOD
+RefactoringAction 1444399893230 TestSudokuVerifier.java RENAME testCheck9()/2=>void testVerify() METHOD
+EditAction 1444399993028 TestSudokuVerifier.java 696 2 9 3
+UnitTestCaseAction 1444399994816 TestSudokuVerifier.java FAIL
+UnitTestSessionAction 1444399994816 TestSudokuVerifier FAIL
+UnitTestCaseAction 1444400278998 TestSudokuVerifier.java FAIL
+UnitTestSessionAction 1444400278998 TestSudokuVerifier FAIL
+EditAction 1444400287595 TestSudokuVerifier.java 696 2 9 3
+UnitTestCaseAction 1444400289655 TestSudokuVerifier.java FAIL
+UnitTestSessionAction 1444400289656 TestSudokuVerifier FAIL
+EditAction 1444400325678 TestSudokuVerifier.java 689 2 9 3
+UnitTestCaseAction 1444400327551 TestSudokuVerifier.java FAIL
+UnitTestSessionAction 1444400327552 TestSudokuVerifier FAIL
+EditAction 1444400347077 TestSudokuVerifier.java 682 2 9 3
+UnitTestCaseAction 1444400353789 TestSudokuVerifier.java OK
+UnitTestSessionAction 1444400353790 TestSudokuVerifier OK
diff --git a/.besouro/20151009215441321/besouroEpisodes.txt b/.besouro/20151009215441321/besouroEpisodes.txt
new file mode 100644
index 00000000..91234d9b
--- /dev/null
+++ b/.besouro/20151009215441321/besouroEpisodes.txt
@@ -0,0 +1,13 @@
+1444399478080 test-last 1 595 false
+1444399876833 test-first 1 388 true
+1444399876834 production 1 388 false
+1444400353790 test-addition 2 468 true
+1444400353791 test-addition 2 468 true
+1444400353792 test-addition 1 468 true
+1444400353793 test-addition 2 468 true
+1444400353794 test-addition 2 468 true
+1444400353795 test-addition 2 468 true
+1444400353796 test-addition 2 468 true
+1444400353797 test-addition 1 468 true
+1444400353798 test-addition 2 468 true
+1444400353799 test-addition 2 468 true
diff --git a/.besouro/20151009215441321/disagreements.txt b/.besouro/20151009215441321/disagreements.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/.besouro/20151009215441321/randomHeuristicEpisodes.txt b/.besouro/20151009215441321/randomHeuristicEpisodes.txt
new file mode 100644
index 00000000..7406a7b2
--- /dev/null
+++ b/.besouro/20151009215441321/randomHeuristicEpisodes.txt
@@ -0,0 +1,3 @@
+1444399478080 test-last 1 595 false
+1444399876833 test-first 1 388 true
+1444400353790 test-addition 2 468 true
diff --git a/.besouro/20151009215441321/userComments.txt b/.besouro/20151009215441321/userComments.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/.besouro/20151009215441321/zorroEpisodes.txt b/.besouro/20151009215441321/zorroEpisodes.txt
new file mode 100644
index 00000000..caed17c8
--- /dev/null
+++ b/.besouro/20151009215441321/zorroEpisodes.txt
@@ -0,0 +1,3 @@
+1444399478080 test-last 1 595 false
+1444399876833 test-first 1 398 true
+1444400353790 test-addition 2 476 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..f7d40cf3 100644
--- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java
+++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java
@@ -1,9 +1,80 @@
-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;
+
+public class SudokuVerifier {
+
+ private String sub;
+ private int[] helper;
+
+ public int verify(String candidateSolution) {
+ // returns 1 if the candidate solution is correct
+ if (candidateSolution.length() != 81)
+ return 1;
+
+ for (int i = 0; i < candidateSolution.length(); i++) {
+ if (candidateSolution.charAt(i) > '9' || candidateSolution.charAt(i) <
+
+ '1')
+ return -1;
+ }
+
+ for (int i = 0, j = 0; i < 3; i++) {
+ for (j = 0; j < 3; j++) {
+ setSub(new String());
+ setSub(getSub() + candidateSolution.substring(i * 3 * 9 + j * 3, i * 3 * 9
+
+ + j * 3 + 3));
+ setSub(getSub() + candidateSolution.substring((i * 3 + 1) * 9 + j * 3, (i *
+
+ 3 + 1) * 9 + j * 3 + 3));
+ setSub(getSub() + candidateSolution.substring((i * 3 + 2) * 9 + j * 3, (i *
+
+ 3 + 2) * 9 + j * 3 + 3));
+ if (check9() == false)
+ return -2;
+ }
+ }
+
+ for (int i = 0, j = 0; i < 9; i++) {
+ setSub(new String());
+ for (j = 0; j < 9; j++) {
+ setSub(getSub() + candidateSolution.charAt(i * 9 + j));
+ }
+ if (check9() == false)
+ return -3;
+ }
+
+ for (int i = 0, j = 0; j < 9; j++) {
+ setSub(new String());
+ for (i = 0; i < 9; i++) {
+ setSub(getSub() + candidateSolution.charAt(i * 9 + j));
+ }
+ if (check9() == false)
+ return -4;
+ }
+
+ return 0;
+ }
+
+ public boolean check9() {
+ helper = new int[9];
+ for (int i = 0; i < 9; i++)
+ {
+ helper[getSub().charAt(i) - '1']++;
+ }
+ for (int i = 0; i < 9; i++)
+ {
+ if (helper[i] != 1)
+ return false;
+ }
+ return true;
+ }
+
+ public String getSub() {
+ return sub;
+ }
+
+ public void setSub(String sub) {
+ this.sub = sub;
+ }
+
+}
diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java
index c0c92901..abbed5e5 100644
--- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java
+++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java
@@ -1,14 +1,26 @@
-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 {
+
+ @Test
+ public void testCheck9() {
+ SudokuVerifier sv = new SudokuVerifier();
+ sv.setSub("123456789");
+ boolean exp = true;
+ assertEquals(exp, sv.check9());
+ }
+
+ @Test
+ public void testVerify() {
+ SudokuVerifier sv = new SudokuVerifier();
+ int exp1 = 0;
+ int exp2 = -2;
+ assertEquals(exp1, sv.verify("417369825632158947958724316825437169791586432346912758289643571573291684164875293"));
+ assertEquals(exp2, sv.verify("123456789912345678891234567789123456678912345567891234456789123345678912234567891"));
+ }
+
+}