From cce519cfa3703489e0e868ffdcb2a92fa75b9888 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 11:43:01 +0300 Subject: [PATCH 01/27] besouro automatic message --- .besouro/20150930115137755/actions.txt | 16 ++++---- .besouro/20151001113314496/actions.txt | 21 ++++++++++ .../20151001113314496/besouroEpisodes.txt | 0 .besouro/20151001113314496/disagreements.txt | 0 .../randomHeuristicEpisodes.txt | 0 .besouro/20151001113314496/userComments.txt | 0 .besouro/20151001113314496/zorroEpisodes.txt | 0 .classpath | 14 +++---- .gitignore | 2 +- .project | 34 ++++++++--------- README.md | 2 +- .../tol/sqatlab/sudoku/SudokuVerifier.java | 18 ++++----- .../sqatlab/sudoku/TestSudokuVerifier.java | 38 ++++++++++++------- 13 files changed, 88 insertions(+), 57 deletions(-) create mode 100644 .besouro/20151001113314496/actions.txt create mode 100644 .besouro/20151001113314496/besouroEpisodes.txt create mode 100644 .besouro/20151001113314496/disagreements.txt create mode 100644 .besouro/20151001113314496/randomHeuristicEpisodes.txt create mode 100644 .besouro/20151001113314496/userComments.txt create mode 100644 .besouro/20151001113314496/zorroEpisodes.txt 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/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt new file mode 100644 index 00000000..dfa2d64c --- /dev/null +++ b/.besouro/20151001113314496/actions.txt @@ -0,0 +1,21 @@ +FileOpenedAction 1443688394881 SudokuVerifier.java 198 1 1 0 +FileOpenedAction 1443688468678 TestSudokuVerifier.java 216 1 1 0 +RefactoringAction 1443688477774 TestSudokuVerifier.java ADD void should FIELD +RefactoringAction 1443688590409 TestSudokuVerifier.java ADD String SOLUTION_CORRECT FIELD +RefactoringAction 1443688595937 TestSudokuVerifier.java ADD String SOLUTION_INCORRECT FIELD +RefactoringAction 1443688630034 TestSudokuVerifier.java RENAME should=>void should_ FIELD +RefactoringAction 1443688643058 TestSudokuVerifier.java RENAME should_=>void should_accept_correct_solution FIELD +RefactoringAction 1443688656115 TestSudokuVerifier.java RENAME should_accept_correct_solution=>void should_accept_correct_solution() METHOD +RefactoringAction 1443688815855 SudokuVerifier.java ADD int RESULT_ FIELD +RefactoringAction 1443688823879 SudokuVerifier.java ADD int RESULT_CORRECT FIELD +RefactoringAction 1443688828421 SudokuVerifier.java REMOVE RESULT_CORRECT FIELD +RefactoringAction 1443688828422 SudokuVerifier.java REMOVE RESULT_ FIELD +RefactoringAction 1443688870530 SudokuVerifier.java ADD Enum Result() METHOD +RefactoringAction 1443688871558 SudokuVerifier.java RENAME Result()=>Enum Result FIELD +RefactoringAction 1443688907813 SudokuVerifier.java ADD int RESULT_ FIELD +RefactoringAction 1443688915833 SudokuVerifier.java RENAME RESULT_=>int SOLUTION_INC FIELD +RefactoringAction 1443688922385 SudokuVerifier.java RENAME SOLUTION_INC=>int RESULT_INCORRECT FIELD +RefactoringAction 1443688927906 SudokuVerifier.java ADD int RESULT_CORRECT FIELD +RefactoringAction 1443688963680 SudokuVerifier.java REMOVE RESULT_INCORRECT FIELD +RefactoringAction 1443688963681 SudokuVerifier.java REMOVE RESULT_CORRECT FIELD +EditAction 1443688981090 TestSudokuVerifier.java 671 2 4 1 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151001113314496/disagreements.txt b/.besouro/20151001113314496/disagreements.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151001113314496/userComments.txt b/.besouro/20151001113314496/userComments.txt new file mode 100644 index 00000000..e69de29b diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt new file mode 100644 index 00000000..e69de29b 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..520f5563 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -1,9 +1,9 @@ -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 { + + public int verify(String candidateSolution) { + // returns 1 if the candidate solution is correct + return 0; + } +} diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index c0c92901..d6485f0d 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -1,14 +1,24 @@ -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 { + + private final String SOLUTION_CORRECT = "417369825632158947958724316825437169791586432346912758289643571573291684164875293"; + private final String SOLUTION_INCORRECT = "123456789912345678891234567789123456678912345567891234456789123345678912234567891"; + + @Test + public void test() { + fail("Not yet implemented"); + } + + @Test + public void should_accept_correct_solution() { + SudokuVerifier verifier = new SudokuVerifier(); + int result = verifier.verify(SOLUTION_CORRECT); + assertEquals(1, result); + } + +} From 4ef35a7ba5809e2ad1d49b0d3a3352a09b533883 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 11:47:52 +0300 Subject: [PATCH 02/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 6 ++++++ .../univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java | 7 +------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index dfa2d64c..e3e60203 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -19,3 +19,9 @@ RefactoringAction 1443688927906 SudokuVerifier.java ADD int RESULT_CORRECT FIELD RefactoringAction 1443688963680 SudokuVerifier.java REMOVE RESULT_INCORRECT FIELD RefactoringAction 1443688963681 SudokuVerifier.java REMOVE RESULT_CORRECT FIELD EditAction 1443688981090 TestSudokuVerifier.java 671 2 4 1 +UnitTestCaseAction 1443688982331 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443688982342 TestSudokuVerifier FAIL +RefactoringAction 1443689000968 TestSudokuVerifier.java REMOVE test() METHOD +RefactoringAction 1443689048336 SudokuVerifier.java ADD Object RESULT_CORRECT FIELD +RefactoringAction 1443689060026 SudokuVerifier.java ADD int RESULT_INCORRECT FIELD +EditAction 1443689272522 TestSudokuVerifier.java 629 1 3 1 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index d6485f0d..0d25b28a 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -9,16 +9,11 @@ public class TestSudokuVerifier { private final String SOLUTION_CORRECT = "417369825632158947958724316825437169791586432346912758289643571573291684164875293"; private final String SOLUTION_INCORRECT = "123456789912345678891234567789123456678912345567891234456789123345678912234567891"; - @Test - public void test() { - fail("Not yet implemented"); - } - @Test public void should_accept_correct_solution() { SudokuVerifier verifier = new SudokuVerifier(); int result = verifier.verify(SOLUTION_CORRECT); - assertEquals(1, result); + assertEquals(SudokuVerifier.RESULT_CORRECT, result); } } From 9b50bacd9b209cb0da40ace85af0d0ef5f796b5a Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 11:47:52 +0300 Subject: [PATCH 03/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 1 + .../tol/sqatlab/sudoku/SudokuVerifier.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index e3e60203..df8ffe18 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -25,3 +25,4 @@ RefactoringAction 1443689000968 TestSudokuVerifier.java REMOVE test() METHOD RefactoringAction 1443689048336 SudokuVerifier.java ADD Object RESULT_CORRECT FIELD RefactoringAction 1443689060026 SudokuVerifier.java ADD int RESULT_INCORRECT FIELD EditAction 1443689272522 TestSudokuVerifier.java 629 1 3 1 +EditAction 1443689272675 SudokuVerifier.java 623 1 1 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index 520f5563..83a3cf86 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -2,8 +2,20 @@ public class SudokuVerifier { + public static final int RESULT_INCORRECT = 0; + public static final int RESULT_CORRECT = 1; + + /** + * Verifies the given sudoku solution + * @param candidateSolution + * @return {@link #RESULT_CORRECT} or {@link #RESULT_INCORRECT} + */ public int verify(String candidateSolution) { // returns 1 if the candidate solution is correct - return 0; + if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { + return RESULT_CORRECT; + } else { + return RESULT_INCORRECT; + } } } From e03df1effd83dcfe459f8e475dc41a884366ff9d Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 11:50:35 +0300 Subject: [PATCH 04/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 7 +++++++ .besouro/20151001113314496/besouroEpisodes.txt | 1 + .../20151001113314496/randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../tol/sqatlab/sudoku/TestSudokuVerifier.java | 14 +++++++++++++- 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index df8ffe18..f2bc0efa 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -26,3 +26,10 @@ RefactoringAction 1443689048336 SudokuVerifier.java ADD Object RESULT_CORRECT FI RefactoringAction 1443689060026 SudokuVerifier.java ADD int RESULT_INCORRECT FIELD EditAction 1443689272522 TestSudokuVerifier.java 629 1 3 1 EditAction 1443689272675 SudokuVerifier.java 623 1 1 0 +UnitTestCaseAction 1443689273241 TestSudokuVerifier.java OK +UnitTestSessionAction 1443689273242 TestSudokuVerifier OK +RefactoringAction 1443689354918 TestSudokuVerifier.java ADD void should_fail_ FIELD +RefactoringAction 1443689361952 TestSudokuVerifier.java RENAME should_fail_=>void should_fail_on_incorrect_solution() METHOD +RefactoringAction 1443689386605 TestSudokuVerifier.java ADD SudokuVerifier verifier FIELD +RefactoringAction 1443689386606 TestSudokuVerifier.java ADD void setup() METHOD +EditAction 1443689435080 TestSudokuVerifier.java 871 3 5 2 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index e69de29b..436c0eb1 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -0,0 +1 @@ +1443689273242 test-first 3 878 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index e69de29b..436c0eb1 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -0,0 +1 @@ +1443689273242 test-first 3 878 true diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index e69de29b..436c0eb1 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -0,0 +1 @@ +1443689273242 test-first 3 878 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 0d25b28a..cf4c50d6 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -9,11 +9,23 @@ public class TestSudokuVerifier { private final String SOLUTION_CORRECT = "417369825632158947958724316825437169791586432346912758289643571573291684164875293"; private final String SOLUTION_INCORRECT = "123456789912345678891234567789123456678912345567891234456789123345678912234567891"; + private SudokuVerifier verifier; + + @Before + public void setup() { + verifier = new SudokuVerifier(); + } + @Test public void should_accept_correct_solution() { - SudokuVerifier verifier = new SudokuVerifier(); int result = verifier.verify(SOLUTION_CORRECT); assertEquals(SudokuVerifier.RESULT_CORRECT, result); } + + @Test + public void should_fail_on_incorrect_solution() { + int result = verifier.verify(SOLUTION_INCORRECT); + assertEquals(SudokuVerifier.RESULT_INCORRECT, result); + } } From 2dc2a77b6a3f29b92c262a0220ef043f8b2ed19b Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 11:59:40 +0300 Subject: [PATCH 05/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 12 ++++++++++++ .besouro/20151001113314496/besouroEpisodes.txt | 2 ++ .../20151001113314496/randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../tol/sqatlab/sudoku/TestSudokuVerifier.java | 11 ++++++----- 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index f2bc0efa..5cfc6338 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -33,3 +33,15 @@ RefactoringAction 1443689361952 TestSudokuVerifier.java RENAME should_fail_=>voi RefactoringAction 1443689386605 TestSudokuVerifier.java ADD SudokuVerifier verifier FIELD RefactoringAction 1443689386606 TestSudokuVerifier.java ADD void setup() METHOD EditAction 1443689435080 TestSudokuVerifier.java 871 3 5 2 +CompilationAction 1443689435247 TestSudokuVerifier.java +RefactoringAction 1443689445822 TestSudokuVerifier.java ADD import org.junit.Before IMPORT +CompilationAction 1443689451441 TestSudokuVerifier.java +UnitTestCaseAction 1443689451829 TestSudokuVerifier.java OK +UnitTestSessionAction 1443689451830 TestSudokuVerifier OK +RefactoringAction 1443689886394 TestSudokuVerifier.java RENAME should_accept_correct_solution()=>void should_return_zero_accept_correct_solution() METHOD +RefactoringAction 1443689888928 TestSudokuVerifier.java RENAME should_return_zero_accept_correct_solution()=>void should_return_zero_for_accept_correct_solution() METHOD +RefactoringAction 1443689892473 TestSudokuVerifier.java RENAME should_return_zero_for_accept_correct_solution()=>void should_return_zero_for_valid_solution() METHOD +RefactoringAction 1443689897504 TestSudokuVerifier.java RENAME SOLUTION_CORRECT=>String SOLUTION_VALID FIELD +RefactoringAction 1443689951173 TestSudokuVerifier.java RENAME should_fail_on_incorrect_solution()=>void should_return_less_than_zero_on_incorrect_solution() METHOD +RefactoringAction 1443689954229 TestSudokuVerifier.java RENAME should_return_less_than_zero_on_incorrect_solution()=>void should_return_less_than_zero_for_incorrect_solution() METHOD +EditAction 1443689980821 TestSudokuVerifier.java 887 3 5 2 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index 436c0eb1..b238de1d 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -1 +1,3 @@ 1443689273242 test-first 3 878 true +1443689451830 test-addition 1 96 true +1443689451831 test-addition 1 96 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index 436c0eb1..f180f9c3 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -1 +1,2 @@ 1443689273242 test-first 3 878 true +1443689451830 test-addition 1 96 false diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index 436c0eb1..e9424e29 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -1 +1,2 @@ 1443689273242 test-first 3 878 true +1443689451830 test-addition 1 178 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index cf4c50d6..354f04a1 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -2,11 +2,12 @@ import static org.junit.Assert.*; +import org.junit.Before; import org.junit.Test; public class TestSudokuVerifier { - private final String SOLUTION_CORRECT = "417369825632158947958724316825437169791586432346912758289643571573291684164875293"; + private final String SOLUTION_VALID = "417369825632158947958724316825437169791586432346912758289643571573291684164875293"; private final String SOLUTION_INCORRECT = "123456789912345678891234567789123456678912345567891234456789123345678912234567891"; private SudokuVerifier verifier; @@ -17,15 +18,15 @@ public void setup() { } @Test - public void should_accept_correct_solution() { - int result = verifier.verify(SOLUTION_CORRECT); + public void should_return_zero_for_valid_solution() { + int result = verifier.verify(SOLUTION_VALID); assertEquals(SudokuVerifier.RESULT_CORRECT, result); } @Test - public void should_fail_on_incorrect_solution() { + public void should_return_less_than_zero_for_incorrect_solution() { int result = verifier.verify(SOLUTION_INCORRECT); - assertEquals(SudokuVerifier.RESULT_INCORRECT, result); + assertTrue(result < 0); } } From 77e7d9fd0c728481b64554e1f170eab7bedce75d Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:00:40 +0300 Subject: [PATCH 06/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 4 ++++ src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 5cfc6338..fda05b5e 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -45,3 +45,7 @@ RefactoringAction 1443689897504 TestSudokuVerifier.java RENAME SOLUTION_CORRECT= RefactoringAction 1443689951173 TestSudokuVerifier.java RENAME should_fail_on_incorrect_solution()=>void should_return_less_than_zero_on_incorrect_solution() METHOD RefactoringAction 1443689954229 TestSudokuVerifier.java RENAME should_return_less_than_zero_on_incorrect_solution()=>void should_return_less_than_zero_for_incorrect_solution() METHOD EditAction 1443689980821 TestSudokuVerifier.java 887 3 5 2 +UnitTestCaseAction 1443689981294 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443689981295 TestSudokuVerifier FAIL +RefactoringAction 1443690027437 SudokuVerifier.java REMOVE RESULT_INCORRECT FIELD +EditAction 1443690040564 SudokuVerifier.java 561 1 1 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index 83a3cf86..e76f557e 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -2,8 +2,7 @@ public class SudokuVerifier { - public static final int RESULT_INCORRECT = 0; - public static final int RESULT_CORRECT = 1; + public static final int RESULT_CORRECT = 0; /** * Verifies the given sudoku solution @@ -15,7 +14,7 @@ public int verify(String candidateSolution) { if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { return RESULT_CORRECT; } else { - return RESULT_INCORRECT; + return -1; } } } From bbd2d3754c3ffc0e330128a35672207e3341c5c5 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:06:08 +0300 Subject: [PATCH 07/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 6 +++ .../20151001113314496/besouroEpisodes.txt | 49 +++++++++++++++++++ .../randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../sqatlab/sudoku/TestSudokuVerifier.java | 5 ++ 5 files changed, 62 insertions(+) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index fda05b5e..07012fcb 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -49,3 +49,9 @@ UnitTestCaseAction 1443689981294 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443689981295 TestSudokuVerifier FAIL RefactoringAction 1443690027437 SudokuVerifier.java REMOVE RESULT_INCORRECT FIELD EditAction 1443690040564 SudokuVerifier.java 561 1 1 0 +UnitTestCaseAction 1443690041053 TestSudokuVerifier.java OK +UnitTestSessionAction 1443690041054 TestSudokuVerifier OK +RefactoringAction 1443690220966 TestSudokuVerifier.java ADD void should_throw_error_on_invalid FIELD +RefactoringAction 1443690238514 TestSudokuVerifier.java RENAME should_throw_error_on_invalid=>void should_throw_error_on_too_long FIELD +RefactoringAction 1443690242539 TestSudokuVerifier.java RENAME should_throw_error_on_too_long=>void should_throw_error_on_too_long_input() METHOD +EditAction 1443690368318 TestSudokuVerifier.java 1055 4 6 2 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index b238de1d..f28da92f 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -1,3 +1,52 @@ 1443689273242 test-first 3 878 true 1443689451830 test-addition 1 96 true 1443689451831 test-addition 1 96 true +1443690041054 refactoring 3 154 true +1443690041055 refactoring 3 154 true +1443690041056 refactoring 3 154 true +1443690041057 refactoring 3 154 true +1443690041058 refactoring 3 154 true +1443690041059 refactoring 3 154 true +1443690041060 refactoring 3 154 true +1443690041061 refactoring 3 154 true +1443690041062 refactoring 3 154 true +1443690041063 refactoring 3 154 true +1443690041064 refactoring 3 154 true +1443690041065 refactoring 3 154 true +1443690041066 refactoring 3 154 true +1443690041067 refactoring 2A 154 true +1443690041068 refactoring 3 154 true +1443690041069 refactoring 3 154 true +1443690041070 refactoring 3 154 true +1443690041071 refactoring 3 154 true +1443690041072 refactoring 3 154 true +1443690041073 refactoring 3 154 true +1443690041074 refactoring 3 154 true +1443690041075 refactoring 3 154 true +1443690041076 refactoring 3 154 true +1443690041077 refactoring 3 154 true +1443690041078 refactoring 3 154 true +1443690041079 refactoring 3 154 true +1443690041080 refactoring 3 154 true +1443690041081 refactoring 3 154 true +1443690041082 refactoring 3 154 true +1443690041083 refactoring 3 154 true +1443690041084 refactoring 3 154 true +1443690041085 refactoring 3 154 true +1443690041086 refactoring 3 154 true +1443690041087 refactoring 3 154 true +1443690041088 refactoring 3 154 true +1443690041089 refactoring 3 154 true +1443690041090 refactoring 3 154 true +1443690041091 refactoring 3 154 true +1443690041092 refactoring 3 154 true +1443690041093 refactoring 3 154 true +1443690041094 refactoring 3 154 true +1443690041095 refactoring 3 154 true +1443690041096 refactoring 3 154 true +1443690041097 refactoring 3 154 true +1443690041098 refactoring 3 154 true +1443690041099 refactoring 3 154 true +1443690041100 refactoring 3 154 true +1443690041101 refactoring 3 154 true +1443690041102 refactoring 3 154 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index f180f9c3..e702630b 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -1,2 +1,3 @@ 1443689273242 test-first 3 878 true 1443689451830 test-addition 1 96 false +1443690041054 refactoring 3 154 true diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index e9424e29..3d4a1f5e 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -1,2 +1,3 @@ 1443689273242 test-first 3 878 true 1443689451830 test-addition 1 178 true +1443690041054 refactoring 3 589 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 354f04a1..36637699 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -28,5 +28,10 @@ public void should_return_less_than_zero_for_incorrect_solution() { int result = verifier.verify(SOLUTION_INCORRECT); assertTrue(result < 0); } + + @Test(expected=IllegalArgumentException.class) + public void should_throw_error_on_too_long_input() { + verifier.verify(SOLUTION_VALID + SOLUTION_INCORRECT); + } } From ee203a1da0fa475f4f4d30bffe696ce6b9f5657a Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:08:02 +0300 Subject: [PATCH 08/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 3 +++ src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 07012fcb..0b6291ee 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -55,3 +55,6 @@ RefactoringAction 1443690220966 TestSudokuVerifier.java ADD void should_throw_er RefactoringAction 1443690238514 TestSudokuVerifier.java RENAME should_throw_error_on_invalid=>void should_throw_error_on_too_long FIELD RefactoringAction 1443690242539 TestSudokuVerifier.java RENAME should_throw_error_on_too_long=>void should_throw_error_on_too_long_input() METHOD EditAction 1443690368318 TestSudokuVerifier.java 1055 4 6 2 +UnitTestCaseAction 1443690368846 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443690368846 TestSudokuVerifier FAIL +EditAction 1443690482322 TestSudokuVerifier.java 1053 4 6 2 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 36637699..3dbe6eb7 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -33,5 +33,4 @@ public void should_return_less_than_zero_for_incorrect_solution() { public void should_throw_error_on_too_long_input() { verifier.verify(SOLUTION_VALID + SOLUTION_INCORRECT); } - } From f68108a1ae3d0526ddff19a202b44ad83acecfb1 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:24:37 +0300 Subject: [PATCH 09/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 3 +++ src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 0b6291ee..2e208397 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -58,3 +58,6 @@ EditAction 1443690368318 TestSudokuVerifier.java 1055 4 6 2 UnitTestCaseAction 1443690368846 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443690368846 TestSudokuVerifier FAIL EditAction 1443690482322 TestSudokuVerifier.java 1053 4 6 2 +UnitTestCaseAction 1443690482776 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443690482777 TestSudokuVerifier FAIL +EditAction 1443691477852 SudokuVerifier.java 820 1 2 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index e76f557e..c94d7e0b 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -6,11 +6,14 @@ public class SudokuVerifier { /** * Verifies the given sudoku solution - * @param candidateSolution - * @return {@link #RESULT_CORRECT} or {@link #RESULT_INCORRECT} + * @param candidateSolution 81 characters long String where first 9 are the first row, second 9 are the second row etc. + * @return {@link #RESULT_CORRECT} if solution is correct, else less than 0 */ public int verify(String candidateSolution) { - // returns 1 if the candidate solution is correct + if (candidateSolution == null || candidateSolution.length() != 81) { + throw new IllegalArgumentException("Solution must be exactly 81 characters long (was " + candidateSolution.length() + ")"); + } + if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { return RESULT_CORRECT; } else { From 5e45b3c8296d5973778b47c4f438c292b92ea87c Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:27:30 +0300 Subject: [PATCH 10/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 6 ++++++ .besouro/20151001113314496/besouroEpisodes.txt | 16 ++++++++++++++++ .../randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../tol/sqatlab/sudoku/TestSudokuVerifier.java | 7 ++++++- 5 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 2e208397..4de5c70c 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -61,3 +61,9 @@ EditAction 1443690482322 TestSudokuVerifier.java 1053 4 6 2 UnitTestCaseAction 1443690482776 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443690482777 TestSudokuVerifier FAIL EditAction 1443691477852 SudokuVerifier.java 820 1 2 0 +UnitTestCaseAction 1443691478358 TestSudokuVerifier.java OK +UnitTestSessionAction 1443691478359 TestSudokuVerifier OK +RefactoringAction 1443691520413 TestSudokuVerifier.java ADD void should_throw_error_on_ FIELD +RefactoringAction 1443691523448 TestSudokuVerifier.java RENAME should_throw_error_on_=>void should_throw_error_on_too FIELD +RefactoringAction 1443691528477 TestSudokuVerifier.java RENAME should_throw_error_on_too=>void should_throw_error_on_too_short_input() METHOD +EditAction 1443691649964 TestSudokuVerifier.java 1239 5 7 2 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index f28da92f..df600066 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -50,3 +50,19 @@ 1443690041100 refactoring 3 154 true 1443690041101 refactoring 3 154 true 1443690041102 refactoring 3 154 true +1443691478359 refactoring 3 1257 true +1443691478360 refactoring 3 1257 true +1443691478361 refactoring 3 1257 true +1443691478362 refactoring 3 1257 true +1443691478363 refactoring 3 1257 true +1443691478364 refactoring 3 1257 true +1443691478365 refactoring 3 1257 true +1443691478366 refactoring 3 1257 true +1443691478367 refactoring 3 1257 true +1443691478368 refactoring 3 1257 true +1443691478369 refactoring 3 1257 true +1443691478370 refactoring 3 1257 true +1443691478371 refactoring 3 1257 true +1443691478372 refactoring 3 1257 true +1443691478373 refactoring 3 1257 true +1443691478374 refactoring 3 1257 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index e702630b..c1065945 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -1,3 +1,4 @@ 1443689273242 test-first 3 878 true 1443689451830 test-addition 1 96 false 1443690041054 refactoring 3 154 true +1443691478359 refactoring 3 1257 true diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index 3d4a1f5e..92eab2f3 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -1,3 +1,4 @@ 1443689273242 test-first 3 878 true 1443689451830 test-addition 1 178 true 1443690041054 refactoring 3 589 true +1443691478359 refactoring 3 1437 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 3dbe6eb7..5c45e117 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -31,6 +31,11 @@ public void should_return_less_than_zero_for_incorrect_solution() { @Test(expected=IllegalArgumentException.class) public void should_throw_error_on_too_long_input() { - verifier.verify(SOLUTION_VALID + SOLUTION_INCORRECT); + verifier.verify(SOLUTION_VALID + "a"); + } + + @Test(expected=IllegalArgumentException.class) + public void should_throw_error_on_too_short_input() { + verifier.verify(SOLUTION_VALID.subSequence(0, SOLUTION_VALID.length()-2).toString()); } } From 1ecb9c13ee46d195910a9d7b991e95a6937238e2 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:28:28 +0300 Subject: [PATCH 11/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 3 +++ .besouro/20151001113314496/besouroEpisodes.txt | 13 +++++++++++++ .../20151001113314496/randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../tol/sqatlab/sudoku/TestSudokuVerifier.java | 2 +- 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 4de5c70c..48fbc2ea 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -67,3 +67,6 @@ RefactoringAction 1443691520413 TestSudokuVerifier.java ADD void should_throw_er RefactoringAction 1443691523448 TestSudokuVerifier.java RENAME should_throw_error_on_=>void should_throw_error_on_too FIELD RefactoringAction 1443691528477 TestSudokuVerifier.java RENAME should_throw_error_on_too=>void should_throw_error_on_too_short_input() METHOD EditAction 1443691649964 TestSudokuVerifier.java 1239 5 7 2 +UnitTestCaseAction 1443691650483 TestSudokuVerifier.java OK +UnitTestSessionAction 1443691650483 TestSudokuVerifier OK +EditAction 1443691708336 TestSudokuVerifier.java 1226 5 7 2 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index df600066..2989d8a9 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -66,3 +66,16 @@ 1443691478372 refactoring 3 1257 true 1443691478373 refactoring 3 1257 true 1443691478374 refactoring 3 1257 true +1443691650483 refactoring 1A 130 true +1443691650484 refactoring 3 130 true +1443691650485 refactoring 3 130 true +1443691650486 refactoring 3 130 true +1443691650487 refactoring 3 130 true +1443691650488 refactoring 3 130 true +1443691650489 refactoring 3 130 true +1443691650490 refactoring 3 130 true +1443691650491 refactoring 3 130 true +1443691650492 refactoring 3 130 true +1443691650493 refactoring 3 130 true +1443691650494 refactoring 3 130 true +1443691650495 refactoring 3 130 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index c1065945..aae7f569 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -2,3 +2,4 @@ 1443689451830 test-addition 1 96 false 1443690041054 refactoring 3 154 true 1443691478359 refactoring 3 1257 true +1443691650483 refactoring 1A 130 false diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index 92eab2f3..f301dcfa 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -2,3 +2,4 @@ 1443689451830 test-addition 1 178 true 1443690041054 refactoring 3 589 true 1443691478359 refactoring 3 1437 true +1443691650483 refactoring 1A 172 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 5c45e117..16039bcd 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -36,6 +36,6 @@ public void should_throw_error_on_too_long_input() { @Test(expected=IllegalArgumentException.class) public void should_throw_error_on_too_short_input() { - verifier.verify(SOLUTION_VALID.subSequence(0, SOLUTION_VALID.length()-2).toString()); + verifier.verify(SOLUTION_VALID.substring(0, SOLUTION_VALID.length()-1)); } } From 7b1101a19dc85b66b5cf1f2aac76034817ff0f87 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:28:38 +0300 Subject: [PATCH 12/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 3 +++ .besouro/20151001113314496/besouroEpisodes.txt | 1 + .besouro/20151001113314496/randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java | 2 +- 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 48fbc2ea..b0d557c1 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -70,3 +70,6 @@ EditAction 1443691649964 TestSudokuVerifier.java 1239 5 7 2 UnitTestCaseAction 1443691650483 TestSudokuVerifier.java OK UnitTestSessionAction 1443691650483 TestSudokuVerifier OK EditAction 1443691708336 TestSudokuVerifier.java 1226 5 7 2 +UnitTestCaseAction 1443691708828 TestSudokuVerifier.java OK +UnitTestSessionAction 1443691708829 TestSudokuVerifier OK +EditAction 1443691718218 TestSudokuVerifier.java 1224 5 7 2 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index 2989d8a9..f7638d8e 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -79,3 +79,4 @@ 1443691650493 refactoring 3 130 true 1443691650494 refactoring 3 130 true 1443691650495 refactoring 3 130 true +1443691708829 regression 1 0 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index aae7f569..ed78b331 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -3,3 +3,4 @@ 1443690041054 refactoring 3 154 true 1443691478359 refactoring 3 1257 true 1443691650483 refactoring 1A 130 false +1443691708829 regression 1 0 false diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index f301dcfa..d0c0965e 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -3,3 +3,4 @@ 1443690041054 refactoring 3 589 true 1443691478359 refactoring 3 1437 true 1443691650483 refactoring 1A 172 true +1443691708829 regression 1 58 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 16039bcd..fbbc32fe 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -36,6 +36,6 @@ public void should_throw_error_on_too_long_input() { @Test(expected=IllegalArgumentException.class) public void should_throw_error_on_too_short_input() { - verifier.verify(SOLUTION_VALID.substring(0, SOLUTION_VALID.length()-1)); + verifier.verify(SOLUTION_VALID.substring(0, SOLUTION_VALID.length())); } } From 4d3749967d77f22119f0d13b49fa73a102128540 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:28:46 +0300 Subject: [PATCH 13/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 3 +++ src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index b0d557c1..669b60aa 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -73,3 +73,6 @@ EditAction 1443691708336 TestSudokuVerifier.java 1226 5 7 2 UnitTestCaseAction 1443691708828 TestSudokuVerifier.java OK UnitTestSessionAction 1443691708829 TestSudokuVerifier OK EditAction 1443691718218 TestSudokuVerifier.java 1224 5 7 2 +UnitTestCaseAction 1443691718726 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443691718727 TestSudokuVerifier FAIL +EditAction 1443691726804 TestSudokuVerifier.java 1227 5 7 2 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index fbbc32fe..6d8f9906 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -36,6 +36,6 @@ public void should_throw_error_on_too_long_input() { @Test(expected=IllegalArgumentException.class) public void should_throw_error_on_too_short_input() { - verifier.verify(SOLUTION_VALID.substring(0, SOLUTION_VALID.length())); + verifier.verify(SOLUTION_VALID.substring(0, SOLUTION_VALID.length() -1)); } } From 3741c4090fbde963ad3175fd614543024d4a0be5 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:33:46 +0300 Subject: [PATCH 14/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 9 +++++++++ .besouro/20151001113314496/besouroEpisodes.txt | 1 + .../20151001113314496/randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../tol/sqatlab/sudoku/TestSudokuVerifier.java | 13 +++++++++++-- 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 669b60aa..38f65700 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -76,3 +76,12 @@ EditAction 1443691718218 TestSudokuVerifier.java 1224 5 7 2 UnitTestCaseAction 1443691718726 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443691718727 TestSudokuVerifier FAIL EditAction 1443691726804 TestSudokuVerifier.java 1227 5 7 2 +UnitTestCaseAction 1443691727260 TestSudokuVerifier.java OK +UnitTestSessionAction 1443691727261 TestSudokuVerifier OK +RefactoringAction 1443691891244 TestSudokuVerifier.java ADD void should_ FIELD +RefactoringAction 1443691900779 TestSudokuVerifier.java RENAME should_=>void should_throw_error_on_non_digit_input FIELD +RefactoringAction 1443691903302 TestSudokuVerifier.java RENAME should_throw_error_on_non_digit_input=>void should_throw_error_on_non_digit_input() METHOD +RefactoringAction 1443691920398 TestSudokuVerifier.java RENAME should_throw_error_on_non_digit_input()=>void should_throw_exception_on_non_digit_input() METHOD +RefactoringAction 1443691924432 TestSudokuVerifier.java RENAME should_throw_error_on_too_short_input()=>void should_throw_exception_on_too_short_input() METHOD +RefactoringAction 1443691927461 TestSudokuVerifier.java RENAME should_throw_error_on_too_long_input()=>void should_throw_expection_on_too_long_input() METHOD +EditAction 1443692026220 TestSudokuVerifier.java 1478 6 10 2 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index f7638d8e..6af77f22 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -80,3 +80,4 @@ 1443691650494 refactoring 3 130 true 1443691650495 refactoring 3 130 true 1443691708829 regression 1 0 true +1443691727261 regression 2 9 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index ed78b331..b1748cdf 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -4,3 +4,4 @@ 1443691478359 refactoring 3 1257 true 1443691650483 refactoring 1A 130 false 1443691708829 regression 1 0 false +1443691727261 regression 2 9 false diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index d0c0965e..aa18e0ab 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -4,3 +4,4 @@ 1443691478359 refactoring 3 1437 true 1443691650483 refactoring 1A 172 true 1443691708829 regression 1 58 true +1443691727261 regression 2 18 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 6d8f9906..1bdeb70a 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -30,12 +30,21 @@ public void should_return_less_than_zero_for_incorrect_solution() { } @Test(expected=IllegalArgumentException.class) - public void should_throw_error_on_too_long_input() { + public void should_throw_expection_on_too_long_input() { verifier.verify(SOLUTION_VALID + "a"); } @Test(expected=IllegalArgumentException.class) - public void should_throw_error_on_too_short_input() { + public void should_throw_exception_on_too_short_input() { verifier.verify(SOLUTION_VALID.substring(0, SOLUTION_VALID.length() -1)); } + + @Test(expected=IllegalArgumentException.class) + public void should_throw_exception_on_non_digit_input() { + String testSolution = ""; + for (int i = 0; i < 81; i++) { + testSolution += "a"; + } + verifier.verify(testSolution); + } } From cb53df311a3b2628efc253b96fb5ceda405fa076 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:35:55 +0300 Subject: [PATCH 15/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 3 +++ src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 38f65700..ae6a9d2d 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -85,3 +85,6 @@ RefactoringAction 1443691920398 TestSudokuVerifier.java RENAME should_throw_erro RefactoringAction 1443691924432 TestSudokuVerifier.java RENAME should_throw_error_on_too_short_input()=>void should_throw_exception_on_too_short_input() METHOD RefactoringAction 1443691927461 TestSudokuVerifier.java RENAME should_throw_error_on_too_long_input()=>void should_throw_expection_on_too_long_input() METHOD EditAction 1443692026220 TestSudokuVerifier.java 1478 6 10 2 +UnitTestCaseAction 1443692026694 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443692026695 TestSudokuVerifier FAIL +EditAction 1443692155265 SudokuVerifier.java 985 1 3 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index c94d7e0b..53ef5cd3 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -13,6 +13,9 @@ public int verify(String candidateSolution) { if (candidateSolution == null || candidateSolution.length() != 81) { throw new IllegalArgumentException("Solution must be exactly 81 characters long (was " + candidateSolution.length() + ")"); } + if (!candidateSolution.matches("[0-9]+")) { + throw new IllegalArgumentException("Solution may only contain numbers 0-9 (was " + candidateSolution + ")"); + } if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { return RESULT_CORRECT; From a53b70e7977d601b7f07ff07c73418e7a0c33ad9 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:43:05 +0300 Subject: [PATCH 16/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 16 ++++++ .../20151001113314496/besouroEpisodes.txt | 49 +++++++++++++++++++ .../randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../sqatlab/sudoku/TestSudokuVerifier.java | 7 +++ 5 files changed, 74 insertions(+) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index ae6a9d2d..d203d7d3 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -88,3 +88,19 @@ EditAction 1443692026220 TestSudokuVerifier.java 1478 6 10 2 UnitTestCaseAction 1443692026694 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443692026695 TestSudokuVerifier FAIL EditAction 1443692155265 SudokuVerifier.java 985 1 3 0 +UnitTestCaseAction 1443692155741 TestSudokuVerifier.java OK +UnitTestSessionAction 1443692155742 TestSudokuVerifier OK +RefactoringAction 1443692195932 TestSudokuVerifier.java ADD void should_only_contain FIELD +RefactoringAction 1443692199971 TestSudokuVerifier.java RENAME should_only_contain=>void should_only_contain_e FIELD +RefactoringAction 1443692210011 TestSudokuVerifier.java RENAME should_only_contain_e=>void should_only_allow_same_digits_once_per FIELD +RefactoringAction 1443692213570 TestSudokuVerifier.java RENAME should_only_allow_same_digits_once_per=>void should_only_allow_same_digits_once_per_sub FIELD +RefactoringAction 1443692219110 TestSudokuVerifier.java RENAME should_only_allow_same_digits_once_per_sub=>void should_only_allow_same_digits_once_per_sub_grid FIELD +RefactoringAction 1443692222652 TestSudokuVerifier.java RENAME should_only_allow_same_digits_once_per_sub_grid=>void should_only_allow_same_digit_once_per_sub_grid FIELD +RefactoringAction 1443692226190 TestSudokuVerifier.java RENAME should_only_allow_same_digit_once_per_sub_grid=>void should_only_allow_same_digit_once_per_sub_grid() METHOD +RefactoringAction 1443692380251 TestSudokuVerifier.java RENAME should_only_allow_same_digit_once_per_sub_grid()=>void should_only_allow_same_digit_once_per_sub_grid_return() METHOD +RefactoringAction 1443692382297 TestSudokuVerifier.java RENAME should_only_allow_same_digit_once_per_sub_grid_return()=>void should_only_allow_same_digit_once_per_sub_grid() METHOD +RefactoringAction 1443692521513 TestSudokuVerifier.java RENAME should_only_allow_same_digit_once_per_sub_grid()=>void should_return_negative_one_if_() METHOD +RefactoringAction 1443692525537 TestSudokuVerifier.java RENAME should_return_negative_one_if_()=>void should_return_negative_one_if_sub_grid_contains_multiple() METHOD +RefactoringAction 1443692529054 TestSudokuVerifier.java RENAME should_return_negative_one_if_sub_grid_contains_multiple()=>void should_return_negative_one_if_sub_grid_contains_multiples_of_same_digit() METHOD +RefactoringAction 1443692578723 TestSudokuVerifier.java RENAME should_return_negative_one_if_sub_grid_contains_multiples_of_same_digit()=>void should_return_negative_two_if_sub_grid_contains_multiples_of_same_digit() METHOD +EditAction 1443692585744 TestSudokuVerifier.java 1769 7 13 3 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index 6af77f22..8696ea30 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -81,3 +81,52 @@ 1443691650495 refactoring 3 130 true 1443691708829 regression 1 0 true 1443691727261 regression 2 9 true +1443692155742 refactoring 3 264 true +1443692155743 refactoring 3 264 true +1443692155744 refactoring 3 264 true +1443692155745 refactoring 3 264 true +1443692155746 refactoring 3 264 true +1443692155747 refactoring 3 264 true +1443692155748 refactoring 3 264 true +1443692155749 refactoring 3 264 true +1443692155750 refactoring 3 264 true +1443692155751 refactoring 3 264 true +1443692155752 refactoring 3 264 true +1443692155753 refactoring 3 264 true +1443692155754 refactoring 3 264 true +1443692155755 refactoring 3 264 true +1443692155756 refactoring 3 264 true +1443692155757 refactoring 3 264 true +1443692155758 refactoring 3 264 true +1443692155759 refactoring 3 264 true +1443692155760 refactoring 3 264 true +1443692155761 refactoring 3 264 true +1443692155762 refactoring 3 264 true +1443692155763 refactoring 3 264 true +1443692155764 refactoring 3 264 true +1443692155765 refactoring 3 264 true +1443692155766 refactoring 3 264 true +1443692155767 refactoring 3 264 true +1443692155768 refactoring 3 264 true +1443692155769 refactoring 3 264 true +1443692155770 refactoring 3 264 true +1443692155771 refactoring 3 264 true +1443692155772 refactoring 3 264 true +1443692155773 refactoring 3 264 true +1443692155774 refactoring 3 264 true +1443692155775 refactoring 3 264 true +1443692155776 refactoring 3 264 true +1443692155777 refactoring 3 264 true +1443692155778 refactoring 3 264 true +1443692155779 refactoring 3 264 true +1443692155780 refactoring 3 264 true +1443692155781 refactoring 3 264 true +1443692155782 refactoring 3 264 true +1443692155783 refactoring 3 264 true +1443692155784 refactoring 3 264 true +1443692155785 refactoring 3 264 true +1443692155786 refactoring 3 264 true +1443692155787 refactoring 3 264 true +1443692155788 refactoring 3 264 true +1443692155789 refactoring 3 264 true +1443692155790 refactoring 3 264 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index b1748cdf..1925ed3f 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -5,3 +5,4 @@ 1443691650483 refactoring 1A 130 false 1443691708829 regression 1 0 false 1443691727261 regression 2 9 false +1443692155742 refactoring 3 264 true diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index aa18e0ab..d42923a9 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -5,3 +5,4 @@ 1443691650483 refactoring 1A 172 true 1443691708829 regression 1 58 true 1443691727261 regression 2 18 true +1443692155742 refactoring 3 428 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 1bdeb70a..39d184f6 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -47,4 +47,11 @@ public void should_throw_exception_on_non_digit_input() { } verifier.verify(testSolution); } + + @Test + public void should_return_negative_two_if_sub_grid_contains_multiples_of_same_digit() { + String testSolution = "417369825612158947958724316825437169791586432346912758289643571573291684164875293"; + int result = verifier.verify(testSolution); + assertEquals(-2, result); + } } From 35199bd50427bfb03a1c05886e2526d7b6c39ec5 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:44:00 +0300 Subject: [PATCH 17/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 11 +++++++++++ .../tol/sqatlab/sudoku/TestSudokuVerifier.java | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index d203d7d3..3b4f870f 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -104,3 +104,14 @@ RefactoringAction 1443692525537 TestSudokuVerifier.java RENAME should_return_neg RefactoringAction 1443692529054 TestSudokuVerifier.java RENAME should_return_negative_one_if_sub_grid_contains_multiple()=>void should_return_negative_one_if_sub_grid_contains_multiples_of_same_digit() METHOD RefactoringAction 1443692578723 TestSudokuVerifier.java RENAME should_return_negative_one_if_sub_grid_contains_multiples_of_same_digit()=>void should_return_negative_two_if_sub_grid_contains_multiples_of_same_digit() METHOD EditAction 1443692585744 TestSudokuVerifier.java 1769 7 13 3 +UnitTestCaseAction 1443692586354 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443692586356 TestSudokuVerifier FAIL +RefactoringAction 1443692602039 SudokuVerifier.java ADD int RESULT_ FIELD +RefactoringAction 1443692609063 SudokuVerifier.java RENAME RESULT_=>int RESULT_INVALID_R FIELD +RefactoringAction 1443692610073 SudokuVerifier.java RENAME RESULT_INVALID_R=>int RESULT_INVALID_ FIELD +RefactoringAction 1443692612088 SudokuVerifier.java RENAME RESULT_INVALID_=>int RESULT_INVALID FIELD +RefactoringAction 1443692615609 SudokuVerifier.java RENAME RESULT_INVALID=>int FAIL_CONTAINS_ FIELD +RefactoringAction 1443692625639 SudokuVerifier.java RENAME FAIL_CONTAINS_=>int FAIL_SUBGRID_CONTAINS_MULTIPLES FIELD +RefactoringAction 1443692637154 SudokuVerifier.java RENAME RESULT_CORRECT=>int CORRECT FIELD +RefactoringAction 1443692639693 SudokuVerifier.java RENAME CORRECT=>int RESULT_CORRECT FIELD +EditAction 1443692640246 TestSudokuVerifier.java 1762 7 13 3 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 39d184f6..7a624515 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -20,7 +20,7 @@ public void setup() { @Test public void should_return_zero_for_valid_solution() { int result = verifier.verify(SOLUTION_VALID); - assertEquals(SudokuVerifier.RESULT_CORRECT, result); + assertEquals(SudokuVerifier.SUCCESS, result); } @Test From a2d253ac1f966759afcb6c04cc8821526230f06b Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:49:38 +0300 Subject: [PATCH 18/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 9 +++++++++ src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java | 11 +++++++++++ .../univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 7 ++++--- 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 3b4f870f..a6965c37 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -115,3 +115,12 @@ RefactoringAction 1443692625639 SudokuVerifier.java RENAME FAIL_CONTAINS_=>int F RefactoringAction 1443692637154 SudokuVerifier.java RENAME RESULT_CORRECT=>int CORRECT FIELD RefactoringAction 1443692639693 SudokuVerifier.java RENAME CORRECT=>int RESULT_CORRECT FIELD EditAction 1443692640246 TestSudokuVerifier.java 1762 7 13 3 +CompilationAction 1443692640556 TestSudokuVerifier.java +RefactoringAction 1443692678631 SubGrid.java ADD SubGrid.java CLASS +FileOpenedAction 1443692678825 SubGrid.java 73 0 0 0 +RefactoringAction 1443692690327 SubGrid.java ADD List numbers FIELD +RefactoringAction 1443692693335 SubGrid.java RENAME numbers=>List cells FIELD +RefactoringAction 1443692708388 SubGrid.java ADD import java.util.List IMPORT +RefactoringAction 1443692723415 SubGrid.java ADD SubGrid() METHOD +RefactoringAction 1443692731943 SubGrid.java RENAME SubGrid()=>SubGrid(String) METHOD +EditAction 1443692978603 SubGrid.java 180 1 0 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java new file mode 100644 index 00000000..70fa78a9 --- /dev/null +++ b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java @@ -0,0 +1,11 @@ +package org.univoulu.tol.sqatlab.sudoku; + +import java.util.List; + +public class SubGrid { + private final List cells; + + public SubGrid(String subgrid) { + + } +} diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index 53ef5cd3..7f179a25 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -2,12 +2,13 @@ public class SudokuVerifier { - public static final int RESULT_CORRECT = 0; + public static final int SUCCESS = 0; + public static final int FAIL_SUBGRID_CONTAINS_MULTIPLES = -2; /** * Verifies the given sudoku solution * @param candidateSolution 81 characters long String where first 9 are the first row, second 9 are the second row etc. - * @return {@link #RESULT_CORRECT} if solution is correct, else less than 0 + * @return {@link #SUCCESS} if solution is correct, else less than 0 */ public int verify(String candidateSolution) { if (candidateSolution == null || candidateSolution.length() != 81) { @@ -18,7 +19,7 @@ public int verify(String candidateSolution) { } if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { - return RESULT_CORRECT; + return SUCCESS; } else { return -1; } From ce72701cd780397fb2e40edce711f86dedac3d73 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 12:49:54 +0300 Subject: [PATCH 19/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 2 ++ src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index a6965c37..925031e0 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -124,3 +124,5 @@ RefactoringAction 1443692708388 SubGrid.java ADD import java.util.List IMPORT RefactoringAction 1443692723415 SubGrid.java ADD SubGrid() METHOD RefactoringAction 1443692731943 SubGrid.java RENAME SubGrid()=>SubGrid(String) METHOD EditAction 1443692978603 SubGrid.java 180 1 0 0 +CompilationAction 1443692978777 SubGrid.java +EditAction 1443692994046 SubGrid.java 193 1 1 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java index 70fa78a9..3f206ad7 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java @@ -6,6 +6,6 @@ public class SubGrid { private final List cells; public SubGrid(String subgrid) { - + cells = null; } } From 34368847a31215a5e05acb1ddc2e7ceca8ec64b7 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 13:18:05 +0300 Subject: [PATCH 20/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 20 ++++++++++++++ .../univoulu/tol/sqatlab/sudoku/SubGrid.java | 26 +++++++++++++++++-- .../tol/sqatlab/sudoku/SudokuVerifier.java | 21 +++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 925031e0..c9e9662c 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -126,3 +126,23 @@ RefactoringAction 1443692731943 SubGrid.java RENAME SubGrid()=>SubGrid(String) M EditAction 1443692978603 SubGrid.java 180 1 0 0 CompilationAction 1443692978777 SubGrid.java EditAction 1443692994046 SubGrid.java 193 1 1 0 +RefactoringAction 1443693446715 SubGrid.java ADD import java.util.Collections IMPORT +RefactoringAction 1443693468441 SubGrid.java ADD import java.util.ArrayList IMPORT +RefactoringAction 1443693803829 SubGrid.java ADD List get FIELD +RefactoringAction 1443693810874 SubGrid.java RENAME get=>List getAll() METHOD +RefactoringAction 1443693815448 SubGrid.java RENAME getAll()=>List getAllCells FIELD +RefactoringAction 1443693967621 SubGrid.java ADD boolean isValid() METHOD +RefactoringAction 1443694039819 SudokuVerifier.java ADD import java.util.List IMPORT +RefactoringAction 1443694043216 SudokuVerifier.java ADD import java.util.ArrayList IMPORT +UnitTestCaseAction 1443694385787 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443694385787 TestSudokuVerifier FAIL +RefactoringAction 1443694426090 SudokuVerifier.java ADD int SUB_GRID_LENGTH FIELD +UnitTestCaseAction 1443694475494 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443694475495 TestSudokuVerifier FAIL +UnitTestCaseAction 1443694495310 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443694495311 TestSudokuVerifier FAIL +UnitTestCaseAction 1443694560544 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443694560545 TestSudokuVerifier FAIL +RefactoringAction 1443694605186 SubGrid.java ADD import java.util.Set IMPORT +RefactoringAction 1443694680135 SubGrid.java ADD import java.util.HashSet IMPORT +EditAction 1443694685149 SubGrid.java 822 3 6 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java index 3f206ad7..294fc099 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java @@ -1,11 +1,33 @@ package org.univoulu.tol.sqatlab.sudoku; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class SubGrid { - private final List cells; + private final Set cells; public SubGrid(String subgrid) { - cells = null; + if (subgrid == null || subgrid.length() != 9 || !subgrid.matches("[0-9]+")) { + throw new IllegalArgumentException("Subgrid must only contain numbers 0-9 and have exactly 9 digits long (was " + subgrid + ")"); + } + Set temp = new HashSet<>(); + + for(char c : subgrid.toCharArray()) { + int cell = Character.getNumericValue(c); + temp.add(cell); + } + + cells = Collections.unmodifiableSet(temp); + } + + public boolean isValid() { + return true; + } + + public List getCells() { + return cells; } } diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index 7f179a25..3d1d0c7d 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -1,10 +1,15 @@ package org.univoulu.tol.sqatlab.sudoku; +import java.util.ArrayList; +import java.util.List; + public class SudokuVerifier { public static final int SUCCESS = 0; public static final int FAIL_SUBGRID_CONTAINS_MULTIPLES = -2; + private static final int SUB_GRID_LENGTH = 9; + /** * Verifies the given sudoku solution * @param candidateSolution 81 characters long String where first 9 are the first row, second 9 are the second row etc. @@ -18,6 +23,22 @@ public int verify(String candidateSolution) { throw new IllegalArgumentException("Solution may only contain numbers 0-9 (was " + candidateSolution + ")"); } + List subGrids = new ArrayList<>(); + String temp = candidateSolution; + while(temp.length() > 9) { + String gridString = temp.substring(0, SUB_GRID_LENGTH); + SubGrid subGrid = new SubGrid(gridString); + subGrids.add(subGrid); + temp = temp.substring(SUB_GRID_LENGTH, temp.length()); + } + + boolean allGridsValid = true; + for (SubGrid grid : subGrids) { + if (!grid.isValid()) { + allGridsValid = false; + } + } + if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { return SUCCESS; } else { From 8d38ed1177927d221d1d050b1af160e56ca6432a Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 13:24:07 +0300 Subject: [PATCH 21/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 6 ++++++ src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java | 11 +++++++++-- .../univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 4 ++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index c9e9662c..da5ebf67 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -146,3 +146,9 @@ UnitTestSessionAction 1443694560545 TestSudokuVerifier FAIL RefactoringAction 1443694605186 SubGrid.java ADD import java.util.Set IMPORT RefactoringAction 1443694680135 SubGrid.java ADD import java.util.HashSet IMPORT EditAction 1443694685149 SubGrid.java 822 3 6 0 +CompilationAction 1443694685523 SubGrid.java +RefactoringAction 1443694700080 SubGrid.java REMOVE import java.util.List IMPORT +CompilationAction 1443694712568 SubGrid.java +UnitTestCaseAction 1443694713014 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443694713016 TestSudokuVerifier FAIL +EditAction 1443695047543 SubGrid.java 945 3 8 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java index 294fc099..f159d559 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SubGrid.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; -import java.util.List; import java.util.Set; public class SubGrid { @@ -24,10 +23,18 @@ public SubGrid(String subgrid) { } public boolean isValid() { + if (cells.size() != 9) { + return false; + } + for(Integer i : cells) { + if (i == null || i < 0 || i > 9) { + return false; + } + } return true; } - public List getCells() { + public Set getCells() { return cells; } } diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index 3d1d0c7d..2430b41f 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -39,6 +39,10 @@ public int verify(String candidateSolution) { } } + if (!allGridsValid) { + return FAIL_SUBGRID_CONTAINS_MULTIPLES; + } + if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { return SUCCESS; } else { From b14b49df046bba21ccf46824e943db6bad2a4b70 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 13:28:40 +0300 Subject: [PATCH 22/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 9 ++++ .../20151001113314496/besouroEpisodes.txt | 52 +++++++++++++++++++ .../randomHeuristicEpisodes.txt | 1 + .besouro/20151001113314496/zorroEpisodes.txt | 1 + .../tol/sqatlab/sudoku/SudokuVerifier.java | 18 ++++--- 5 files changed, 75 insertions(+), 6 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index da5ebf67..7c0c0b82 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -152,3 +152,12 @@ CompilationAction 1443694712568 SubGrid.java UnitTestCaseAction 1443694713014 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443694713016 TestSudokuVerifier FAIL EditAction 1443695047543 SubGrid.java 945 3 8 0 +UnitTestCaseAction 1443695048173 TestSudokuVerifier.java OK +UnitTestSessionAction 1443695048174 TestSudokuVerifier OK +RefactoringAction 1443695082575 SudokuVerifier.java ADD boolean is FIELD +RefactoringAction 1443695095607 SudokuVerifier.java RENAME is=>boolean isCorrectlyFormatted FIELD +RefactoringAction 1443695099634 SudokuVerifier.java RENAME isCorrectlyFormatted=>boolean is FIELD +RefactoringAction 1443695108685 SudokuVerifier.java RENAME is=>boolean isSolutionCorrectlyFormatted(String) METHOD +RefactoringAction 1443695123277 SudokuVerifier.java RENAME isSolutionCorrectlyFormatted(String)=>void validate(String) METHOD +RefactoringAction 1443695125813 SudokuVerifier.java RENAME validate(String)=>void validateSolutionFormat(String) METHOD +EditAction 1443695320431 SudokuVerifier.java 1832 2 10 0 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index 8696ea30..a9c43d38 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -130,3 +130,55 @@ 1443692155788 refactoring 3 264 true 1443692155789 refactoring 3 264 true 1443692155790 refactoring 3 264 true +1443695048174 test-first 1 2852 true +1443695048175 test-first 1 2852 true +1443695048176 test-first 1 2852 true +1443695048177 test-first 1 2852 true +1443695048178 test-first 1 2852 true +1443695048179 test-first 1 2852 true +1443695048180 test-first 1 2852 true +1443695048181 test-first 1 2852 true +1443695048182 test-first 1 2852 true +1443695048183 test-first 1 2852 true +1443695048184 test-first 1 2852 true +1443695048185 test-first 1 2852 true +1443695048186 test-first 1 2852 true +1443695048187 test-first 1 2852 true +1443695048188 test-first 1 2852 true +1443695048189 test-first 1 2852 true +1443695048190 test-first 1 2852 true +1443695048191 test-first 1 2852 true +1443695048192 test-first 1 2852 true +1443695048193 test-first 1 2852 true +1443695048194 test-first 1 2852 true +1443695048195 test-first 1 2852 true +1443695048196 test-first 1 2852 true +1443695048197 test-first 1 2852 true +1443695048198 test-first 1 2852 true +1443695048199 test-first 1 2852 true +1443695048200 test-first 1 2852 true +1443695048201 test-first 1 2852 true +1443695048202 test-first 1 2852 true +1443695048203 test-first 1 2852 true +1443695048204 test-first 1 2852 true +1443695048205 test-first 1 2852 true +1443695048206 test-first 1 2852 true +1443695048207 test-first 1 2852 true +1443695048208 test-first 1 2852 true +1443695048209 test-first 1 2852 true +1443695048210 test-first 1 2852 true +1443695048211 test-first 1 2852 true +1443695048212 test-first 1 2852 true +1443695048213 test-first 1 2852 true +1443695048214 test-first 1 2852 true +1443695048215 test-first 1 2852 true +1443695048216 test-first 1 2852 true +1443695048217 test-first 1 2852 true +1443695048218 test-first 1 2852 true +1443695048219 test-first 1 2852 true +1443695048220 test-first 1 2852 true +1443695048221 test-first 1 2852 true +1443695048222 test-first 1 2852 true +1443695048223 test-first 1 2852 true +1443695048224 test-first 1 2852 true +1443695048225 test-first 1 2852 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index 1925ed3f..b7a8f153 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -6,3 +6,4 @@ 1443691708829 regression 1 0 false 1443691727261 regression 2 9 false 1443692155742 refactoring 3 264 true +1443695048174 test-first 1 2852 true diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index d42923a9..984cb43f 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -6,3 +6,4 @@ 1443691708829 regression 1 58 true 1443691727261 regression 2 18 true 1443692155742 refactoring 3 428 true +1443695048174 test-first 1 2892 true diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index 2430b41f..feb2aad7 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -16,12 +16,7 @@ public class SudokuVerifier { * @return {@link #SUCCESS} if solution is correct, else less than 0 */ public int verify(String candidateSolution) { - if (candidateSolution == null || candidateSolution.length() != 81) { - throw new IllegalArgumentException("Solution must be exactly 81 characters long (was " + candidateSolution.length() + ")"); - } - if (!candidateSolution.matches("[0-9]+")) { - throw new IllegalArgumentException("Solution may only contain numbers 0-9 (was " + candidateSolution + ")"); - } + validateSolutionFormat(candidateSolution); List subGrids = new ArrayList<>(); String temp = candidateSolution; @@ -49,4 +44,15 @@ public int verify(String candidateSolution) { return -1; } } + + private void validateSolutionFormat(String solution) throws IllegalArgumentException { + if (solution == null || solution.length() != 81) { + Integer length = null; + if (solution != null) length = solution.length(); + throw new IllegalArgumentException("Solution must be exactly 81 characters long (was " + length + ")"); + } + if (!solution.matches("[0-9]+")) { + throw new IllegalArgumentException("Solution may only contain numbers 0-9 (was " + solution + ")"); + } + } } From f1655a3aacb68edd044b3c52656ad1e523aa2f21 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 13:33:13 +0300 Subject: [PATCH 23/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 10 ++++++++++ .besouro/20151001113314496/besouroEpisodes.txt | 2 ++ .../20151001113314496/randomHeuristicEpisodes.txt | 2 ++ .besouro/20151001113314496/zorroEpisodes.txt | 2 ++ .../tol/sqatlab/sudoku/TestSudokuVerifier.java | 11 +++++++++++ 5 files changed, 27 insertions(+) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 7c0c0b82..d0e78632 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -161,3 +161,13 @@ RefactoringAction 1443695108685 SudokuVerifier.java RENAME is=>boolean isSolutio RefactoringAction 1443695123277 SudokuVerifier.java RENAME isSolutionCorrectlyFormatted(String)=>void validate(String) METHOD RefactoringAction 1443695125813 SudokuVerifier.java RENAME validate(String)=>void validateSolutionFormat(String) METHOD EditAction 1443695320431 SudokuVerifier.java 1832 2 10 0 +UnitTestCaseAction 1443695320979 TestSudokuVerifier.java OK +UnitTestSessionAction 1443695320979 TestSudokuVerifier OK +UnitTestCaseAction 1443695384586 TestSudokuVerifier.java OK +UnitTestSessionAction 1443695384586 TestSudokuVerifier OK +RefactoringAction 1443695438295 TestSudokuVerifier.java ADD void should FIELD +RefactoringAction 1443695441338 TestSudokuVerifier.java RENAME should=>void should_return_negative FIELD +RefactoringAction 1443695444892 TestSudokuVerifier.java RENAME should_return_negative=>void should_return_negative_three_if_ FIELD +RefactoringAction 1443695456942 TestSudokuVerifier.java RENAME should_return_negative_three_if_=>void should_return_negative_three_if_row_contains_multiples FIELD +RefactoringAction 1443695457978 TestSudokuVerifier.java RENAME should_return_negative_three_if_row_contains_multiples=>void should_return_negative_three_if_row_contains_multiples() METHOD +EditAction 1443695593432 TestSudokuVerifier.java 2121 8 16 4 diff --git a/.besouro/20151001113314496/besouroEpisodes.txt b/.besouro/20151001113314496/besouroEpisodes.txt index a9c43d38..7daf0ace 100644 --- a/.besouro/20151001113314496/besouroEpisodes.txt +++ b/.besouro/20151001113314496/besouroEpisodes.txt @@ -182,3 +182,5 @@ 1443695048223 test-first 1 2852 true 1443695048224 test-first 1 2852 true 1443695048225 test-first 1 2852 true +1443695320979 production 3 238 false +1443695384586 regression 1 0 true diff --git a/.besouro/20151001113314496/randomHeuristicEpisodes.txt b/.besouro/20151001113314496/randomHeuristicEpisodes.txt index b7a8f153..1b34e74a 100644 --- a/.besouro/20151001113314496/randomHeuristicEpisodes.txt +++ b/.besouro/20151001113314496/randomHeuristicEpisodes.txt @@ -7,3 +7,5 @@ 1443691727261 regression 2 9 false 1443692155742 refactoring 3 264 true 1443695048174 test-first 1 2852 true +1443695320979 production 3 238 false +1443695384586 regression 1 0 true diff --git a/.besouro/20151001113314496/zorroEpisodes.txt b/.besouro/20151001113314496/zorroEpisodes.txt index 984cb43f..b35f12d9 100644 --- a/.besouro/20151001113314496/zorroEpisodes.txt +++ b/.besouro/20151001113314496/zorroEpisodes.txt @@ -7,3 +7,5 @@ 1443691727261 regression 2 18 true 1443692155742 refactoring 3 428 true 1443695048174 test-first 1 2892 true +1443695320979 production 3 272 false +1443695384586 regression 1 63 false diff --git a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java index 7a624515..91db329b 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java @@ -54,4 +54,15 @@ public void should_return_negative_two_if_sub_grid_contains_multiples_of_same_di int result = verifier.verify(testSolution); assertEquals(-2, result); } + + /** + * R3: A digit can appear only once in the rows of the global grid. + */ + @Test + public void should_return_negative_three_if_row_contains_multiples() { + String testSolution = "417369825932158947658724316825437169791586432346912758289643571573291684164875293"; + int result = verifier.verify(testSolution); + assertEquals(-3, result); + } + } From a5a44ce743ecd5f45b8d7c21708bf0c61261f50a Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 13:38:02 +0300 Subject: [PATCH 24/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 5 +++++ .../tol/sqatlab/sudoku/SudokuVerifier.java | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index d0e78632..3e643e9e 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -171,3 +171,8 @@ RefactoringAction 1443695444892 TestSudokuVerifier.java RENAME should_return_neg RefactoringAction 1443695456942 TestSudokuVerifier.java RENAME should_return_negative_three_if_=>void should_return_negative_three_if_row_contains_multiples FIELD RefactoringAction 1443695457978 TestSudokuVerifier.java RENAME should_return_negative_three_if_row_contains_multiples=>void should_return_negative_three_if_row_contains_multiples() METHOD EditAction 1443695593432 TestSudokuVerifier.java 2121 8 16 4 +UnitTestCaseAction 1443695594095 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443695594096 TestSudokuVerifier FAIL +RefactoringAction 1443695661054 SudokuVerifier.java ADD import java.util.Set IMPORT +RefactoringAction 1443695781166 SudokuVerifier.java ADD import java.util.HashSet IMPORT +EditAction 1443695882514 SudokuVerifier.java 2342 2 13 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index feb2aad7..85b53a70 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -1,7 +1,9 @@ package org.univoulu.tol.sqatlab.sudoku; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class SudokuVerifier { @@ -27,6 +29,7 @@ public int verify(String candidateSolution) { temp = temp.substring(SUB_GRID_LENGTH, temp.length()); } + // validate grids boolean allGridsValid = true; for (SubGrid grid : subGrids) { if (!grid.isValid()) { @@ -38,6 +41,22 @@ public int verify(String candidateSolution) { return FAIL_SUBGRID_CONTAINS_MULTIPLES; } + // validate rows + List> rows = new ArrayList<>(); + temp = candidateSolution; + while(temp.length() > 9) { + String gridString = temp.substring(0, SUB_GRID_LENGTH); + Set row = new HashSet<>(); + for(char c : gridString.toCharArray()) { + int cell = Character.getNumericValue(c); + row.add(cell); + } + rows.add(row); + temp = temp.substring(SUB_GRID_LENGTH, temp.length()); + } + + + if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { return SUCCESS; } else { From d2dfc5f6d7bb8481161ed596d55b99b6c7a78573 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 13:39:36 +0300 Subject: [PATCH 25/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 4 ++++ .../univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 3e643e9e..badeee9b 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -176,3 +176,7 @@ UnitTestSessionAction 1443695594096 TestSudokuVerifier FAIL RefactoringAction 1443695661054 SudokuVerifier.java ADD import java.util.Set IMPORT RefactoringAction 1443695781166 SudokuVerifier.java ADD import java.util.HashSet IMPORT EditAction 1443695882514 SudokuVerifier.java 2342 2 13 0 +UnitTestCaseAction 1443695883056 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443695883057 TestSudokuVerifier FAIL +RefactoringAction 1443695968200 SudokuVerifier.java ADD int FAIL_ROW_CONTAINS_MULTIPLES FIELD +EditAction 1443695976661 SudokuVerifier.java 2670 2 16 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index 85b53a70..b6ad3897 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -9,6 +9,7 @@ public class SudokuVerifier { public static final int SUCCESS = 0; public static final int FAIL_SUBGRID_CONTAINS_MULTIPLES = -2; + public static final int FAIL_ROW_CONTAINS_MULTIPLES = -3; private static final int SUB_GRID_LENGTH = 9; @@ -55,6 +56,16 @@ public int verify(String candidateSolution) { temp = temp.substring(SUB_GRID_LENGTH, temp.length()); } + boolean rowsValid = true; + for(Set row : rows) { + if (row.size() != 9) rowsValid = false; + for(Integer i : row) { + if (i == null || i < 0 || i > 9) rowsValid = false; + } + } + if (!rowsValid) { + return FAIL_ROW_CONTAINS_MULTIPLES; + } if (candidateSolution.equals("417369825632158947958724316825437169791586432346912758289643571573291684164875293")) { From c447de96934a93d1adb2821af01e5e26a865bd34 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 13:39:51 +0300 Subject: [PATCH 26/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 3 +++ src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 1 + 2 files changed, 4 insertions(+) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index badeee9b..48f59b29 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -180,3 +180,6 @@ UnitTestCaseAction 1443695883056 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443695883057 TestSudokuVerifier FAIL RefactoringAction 1443695968200 SudokuVerifier.java ADD int FAIL_ROW_CONTAINS_MULTIPLES FIELD EditAction 1443695976661 SudokuVerifier.java 2670 2 16 0 +UnitTestCaseAction 1443695977207 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443695977208 TestSudokuVerifier FAIL +EditAction 1443695991923 SudokuVerifier.java 2674 2 16 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index b6ad3897..bd3d8e1b 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -63,6 +63,7 @@ public int verify(String candidateSolution) { if (i == null || i < 0 || i > 9) rowsValid = false; } } + if (!rowsValid) { return FAIL_ROW_CONTAINS_MULTIPLES; } From 96c3e24b582fa6c51fc149d7da7af611a776daf6 Mon Sep 17 00:00:00 2001 From: somename Date: Thu, 1 Oct 2015 16:13:48 +0300 Subject: [PATCH 27/27] besouro automatic message --- .besouro/20151001113314496/actions.txt | 4 ++++ src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.besouro/20151001113314496/actions.txt b/.besouro/20151001113314496/actions.txt index 48f59b29..dff1416e 100644 --- a/.besouro/20151001113314496/actions.txt +++ b/.besouro/20151001113314496/actions.txt @@ -183,3 +183,7 @@ EditAction 1443695976661 SudokuVerifier.java 2670 2 16 0 UnitTestCaseAction 1443695977207 TestSudokuVerifier.java FAIL UnitTestSessionAction 1443695977208 TestSudokuVerifier FAIL EditAction 1443695991923 SudokuVerifier.java 2674 2 16 0 +UnitTestCaseAction 1443695992431 TestSudokuVerifier.java FAIL +UnitTestSessionAction 1443695992432 TestSudokuVerifier FAIL +RefactoringAction 1443696020369 SudokuVerifier.java ADD int ROW_LENGTH FIELD +EditAction 1443705228371 SudokuVerifier.java 2707 2 16 0 diff --git a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java index bd3d8e1b..92b6dbac 100644 --- a/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java +++ b/src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java @@ -12,6 +12,7 @@ public class SudokuVerifier { public static final int FAIL_ROW_CONTAINS_MULTIPLES = -3; private static final int SUB_GRID_LENGTH = 9; + private static final int ROW_LENGTH = 9; /** * Verifies the given sudoku solution @@ -46,14 +47,14 @@ public int verify(String candidateSolution) { List> rows = new ArrayList<>(); temp = candidateSolution; while(temp.length() > 9) { - String gridString = temp.substring(0, SUB_GRID_LENGTH); + String gridString = temp.substring(0, ROW_LENGTH); Set row = new HashSet<>(); for(char c : gridString.toCharArray()) { int cell = Character.getNumericValue(c); row.add(cell); } rows.add(row); - temp = temp.substring(SUB_GRID_LENGTH, temp.length()); + temp = temp.substring(ROW_LENGTH, temp.length()); } boolean rowsValid = true;