Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .besouro/20150930145517304/actions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
FileOpenedAction 1443614118465 SudokuVerifier.java 189 1 1 0
FileOpenedAction 1443615048963 TestSudokuVerifier.java 202 1 1 0
EditAction 1443615272846 SudokuVerifier.java 194 1 1 0
RefactoringAction 1443616233274 SudokuVerifier.java RENAME Game=>class <anonymous /1> null
RefactoringAction 1443616256606 SudokuVerifier.java ADD int FIELD
RefactoringAction 1443616256608 SudokuVerifier.java ADD int FIELD
RefactoringAction 1443616302694 SudokuVerifier.java MOVE <anonymous /1>=>class SudokuVerifier METHOD
RefactoringAction 1443616307858 SudokuVerifier.java REMOVE setTileIfValid(int, int, int) METHOD
RefactoringAction 1443616307862 SudokuVerifier.java REMOVE getTile(int, int) METHOD
RefactoringAction 1443616307863 SudokuVerifier.java REMOVE calculateAllUesdTiles() METHOD
RefactoringAction 1443616307866 SudokuVerifier.java REMOVE Game() METHOD
RefactoringAction 1443616307867 SudokuVerifier.java REMOVE fromPuzzleString(String) METHOD
RefactoringAction 1443616307868 SudokuVerifier.java REMOVE getTileString(int, int) METHOD
RefactoringAction 1443616307869 SudokuVerifier.java REMOVE getUsedTiles(int, int) METHOD
RefactoringAction 1443616307870 SudokuVerifier.java REMOVE calculateUesdTiles(int, int) METHOD
RefactoringAction 1443616307872 SudokuVerifier.java REMOVE setTile(int, int, int) METHOD
RefactoringAction 1443616307873 SudokuVerifier.java REMOVE getUsedTileByCoor(int, int) METHOD
RefactoringAction 1443616451012 SudokuVerifier.java REMOVE sudoku FIELD
RefactoringAction 1443616451014 SudokuVerifier.java REMOVE used FIELD
EditAction 1443616573774 TestSudokuVerifier.java 393 1 3 1
RefactoringAction 1443616595244 SudokuVerifier.java RENAME <initializer /1>=>boolean verify() METHOD
RefactoringAction 1443616597265 SudokuVerifier.java RENAME verify()=>boolean verify_line() METHOD
RefactoringAction 1443617531445 SudokuVerifier.java RENAME verify_line()=>boolean verify_() METHOD
RefactoringAction 1443617532521 SudokuVerifier.java RENAME verify_()=>boolean verify_uni() METHOD
RefactoringAction 1443617533537 SudokuVerifier.java RENAME verify_uni()=>boolean verify_unique() METHOD
RefactoringAction 1443617541602 SudokuVerifier.java REMOVE verify_unique() METHOD
RefactoringAction 1443617541711 SudokuVerifier.java ADD boolean verify_unique() METHOD
RefactoringAction 1443617691294 SudokuVerifier.java REMOVE verify_unique() METHOD
RefactoringAction 1443617692335 SudokuVerifier.java ADD boolean verify_unique() METHOD
RefactoringAction 1443617725553 SudokuVerifier.java RENAME verify_unique()=>boolean verify_unique(String) METHOD
RefactoringAction 1443617757613 SudokuVerifier.java ADD import javafx.util.converter.NumberStringConverter IMPORT
RefactoringAction 1443618093989 SudokuVerifier.java ADD boolean ve FIELD
RefactoringAction 1443618095512 SudokuVerifier.java RENAME ve=>boolean get FIELD
RefactoringAction 1443618103110 SudokuVerifier.java RENAME get=>boolean get_ FIELD
RefactoringAction 1443618104689 SudokuVerifier.java RENAME get_=>boolean get_line FIELD
RefactoringAction 1443618105754 SudokuVerifier.java RENAME get_line=>boolean get_line() METHOD
RefactoringAction 1443618110389 SudokuVerifier.java RENAME get_line()=>boolean get_line(String) METHOD
RefactoringAction 1443618172221 SudokuVerifier.java RENAME get_line(String)=>boolean get_line_result(String) METHOD
RefactoringAction 1443619121741 SudokuVerifier.java ADD boolean isNumeric(String) METHOD
EditAction 1443619561490 SudokuVerifier.java 957 4 9 0
UnitTestCaseAction 1443619581507 TestSudokuVerifier.java FAIL
UnitTestSessionAction 1443619581517 TestSudokuVerifier FAIL
RefactoringAction 1443619636377 main.java ADD main.java CLASS
FileOpenedAction 1443619637466 main.java 159 1 0 0
RefactoringAction 1443619649212 main.java ADD import org.junit.Assert.assertEquals IMPORT
EditAction 1443619678339 main.java 414 1 3 0
UnitTestCaseAction 1443620023966 TestSudokuVerifier.java OK
UnitTestSessionAction 1443620023967 TestSudokuVerifier OK
CompilationAction 1443620128538 SudokuVerifier.java
CompilationAction 1443620137604 SudokuVerifier.java
EditAction 1443620141143 TestSudokuVerifier.java 553 1 5 2
UnitTestCaseAction 1443620145813 TestSudokuVerifier.java FAIL
UnitTestSessionAction 1443620145815 TestSudokuVerifier FAIL
EditAction 1443620156018 TestSudokuVerifier.java 554 1 5 2
UnitTestCaseAction 1443620157561 TestSudokuVerifier.java FAIL
UnitTestSessionAction 1443620157562 TestSudokuVerifier FAIL
RefactoringAction 1443620213741 SudokuVerifier.java ADD boolean get_line_result(String)/2 METHOD
RefactoringAction 1443620226511 SudokuVerifier.java RENAME get_line_result(String)/2=>boolean get_row_result(String) METHOD
RefactoringAction 1443620231147 SudokuVerifier.java ADD boolean get_line_result(String)/2 METHOD
RefactoringAction 1443620236183 SudokuVerifier.java RENAME get_line_result(String)/2=>boolean get_gird_result(String) METHOD
2 changes: 2 additions & 0 deletions .besouro/20150930145517304/besouroEpisodes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1443620023967 test-first 3 5905 true
1443620023968 test-last 1 5905 false
Empty file.
1 change: 1 addition & 0 deletions .besouro/20150930145517304/randomHeuristicEpisodes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1443620023967 test-first 3 5905 true
Empty file.
1 change: 1 addition & 0 deletions .besouro/20150930145517304/zorroEpisodes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1443620023967 test-first 3 5905 true
57 changes: 57 additions & 0 deletions .besouro/20151009154411323/actions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
FileOpenedAction 1444394651704 TestSudokuVerifier.java 554 1 5 2
EditAction 1444394686763 TestSudokuVerifier.java 554 1 5 2
UnitTestCaseAction 1444394688701 TestSudokuVerifier.java FAIL
UnitTestSessionAction 1444394688709 TestSudokuVerifier FAIL
EditAction 1444394751364 main.java 434 1 3 0
EditAction 1444394769677 SudokuVerifier.java 1967 7 17 0
UnitTestCaseAction 1444394778324 TestSudokuVerifier.java FAIL
UnitTestSessionAction 1444394778325 TestSudokuVerifier FAIL
EditAction 1444395709836 main.java 565 1 4 0
UnitTestCaseAction 1444395749689 TestSudokuVerifier.java FAIL
UnitTestSessionAction 1444395749690 TestSudokuVerifier FAIL
EditAction 1444395864606 main.java 530 1 3 0
FileOpenedAction 1444395882779 Cell.java 69 0 0 0
EditAction 1444396656423 main.java 664 1 4 0
EditAction 1444396881843 SudokuVerifier.java 2036 7 18 0
EditAction 1444396908094 SudokuVerifier.java 2047 7 18 0
RefactoringAction 1444396992085 SudokuVerifier.java ADD import java.util.Arrays IMPORT
EditAction 1444397062901 main.java 664 1 4 0
EditAction 1444397204373 main.java 672 1 4 0
EditAction 1444397283152 SudokuVerifier.java 2108 7 16 0
EditAction 1444397299433 main.java 672 1 4 0
EditAction 1444397376836 SudokuVerifier.java 2089 7 17 0
EditAction 1444397808775 SudokuVerifier.java 2098 7 17 0
EditAction 1444397915443 SudokuVerifier.java 2089 7 17 0
EditAction 1444398749522 SudokuVerifier.java 2131 7 19 0
EditAction 1444398759757 SudokuVerifier.java 2130 7 19 0
EditAction 1444398785946 main.java 672 1 4 0
EditAction 1444398795344 main.java 668 1 4 0
EditAction 1444399014040 main.java 1048 1 6 0
EditAction 1444399025294 main.java 1048 1 6 0
EditAction 1444399297516 SudokuVerifier.java 2276 7 20 0
EditAction 1444399336157 SudokuVerifier.java 2269 7 20 0
EditAction 1444399663834 main.java 1048 1 6 0
FileOpenedAction 1444400116965 TestSudokuVerifier.java 554 1 5 2
EditAction 1444400224003 TestSudokuVerifier.java 1025 1 6 5
EditAction 1444400225524 main.java 1048 1 6 0
UnitTestCaseAction 1444400226890 TestSudokuVerifier.java FAIL
UnitTestSessionAction 1444400226891 TestSudokuVerifier FAIL
EditAction 1444400250193 TestSudokuVerifier.java 1024 1 6 5
UnitTestCaseAction 1444400252089 TestSudokuVerifier.java OK
UnitTestSessionAction 1444400252091 TestSudokuVerifier OK
RefactoringAction 1444400267083 TestSudokuVerifier.java RENAME test()=>void testRu() METHOD
RefactoringAction 1444400269087 TestSudokuVerifier.java RENAME testRu()=>void test() METHOD
RefactoringAction 1444400284090 TestSudokuVerifier.java RENAME test()=>void testVal() METHOD
RefactoringAction 1444400285593 TestSudokuVerifier.java RENAME testVal()=>void testValid() METHOD
RefactoringAction 1444400291598 TestSudokuVerifier.java ADD void testValid()/2 METHOD
RefactoringAction 1444400291599 TestSudokuVerifier.java ADD void testValid()/3 METHOD
RefactoringAction 1444400293105 TestSudokuVerifier.java ADD void testValid()/4 METHOD
RefactoringAction 1444400293106 TestSudokuVerifier.java ADD void testValid()/5 METHOD
RefactoringAction 1444400308135 TestSudokuVerifier.java RENAME testValid()/5=>void testRule() METHOD
RefactoringAction 1444400309643 TestSudokuVerifier.java RENAME testRule()=>void testRule1() METHOD
RefactoringAction 1444400330181 TestSudokuVerifier.java RENAME testValid()/4=>void testRule2() METHOD
RefactoringAction 1444400345762 TestSudokuVerifier.java RENAME testValid()/3=>void testRule3() METHOD
RefactoringAction 1444400361777 TestSudokuVerifier.java RENAME testValid()/2=>void testRule4() METHOD
EditAction 1444400367825 TestSudokuVerifier.java 1389 5 10 5
UnitTestCaseAction 1444400370476 TestSudokuVerifier.java OK
UnitTestSessionAction 1444400370477 TestSudokuVerifier OK
20 changes: 20 additions & 0 deletions .besouro/20151009154411323/besouroEpisodes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
1444400252091 test-last 1 5600 false
1444400252092 test-last 1 5600 false
1444400252093 test-last 1 5600 false
1444400252094 test-last 1 5600 false
1444400252095 test-last 1 5600 false
1444400252096 test-last 1 5600 false
1444400252097 test-last 1 5600 false
1444400252098 test-last 1 5600 false
1444400252099 test-last 1 5600 false
1444400252100 test-last 1 5600 false
1444400252101 test-last 1 5600 false
1444400252102 test-last 1 5600 false
1444400252103 test-last 1 5600 false
1444400252104 test-last 1 5600 false
1444400252105 test-last 1 5600 false
1444400252106 test-last 1 5600 false
1444400370477 test-addition 1 103 true
1444400370478 test-addition 1 103 true
1444400370479 test-addition 1 103 true
1444400370480 test-addition 1 103 true
Empty file.
2 changes: 2 additions & 0 deletions .besouro/20151009154411323/randomHeuristicEpisodes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1444400252091 test-last 1 5600 false
1444400370477 test-addition 1 103 false
Empty file.
2 changes: 2 additions & 0 deletions .besouro/20151009154411323/zorroEpisodes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1444400252091 test-last 1 5600 false
1444400370477 test-addition 1 118 false
127 changes: 124 additions & 3 deletions src/org/univoulu/tol/sqatlab/sudoku/SudokuVerifier.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,130 @@
package org.univoulu.tol.sqatlab.sudoku;
package org.univoulu.tol.sqatlab.sudoku;

import java.util.Arrays;

import javafx.util.converter.NumberStringConverter;

public class SudokuVerifier {

public int verify(String candidateSolution) {
// returns 1 if the candidate solution is correct
return 0;
if (!verify_numberic(candidateSolution)){
return -1;
}else if(!get_gird_result(candidateSolution)){
return -2;
}else if(!get_row_result(candidateSolution)){
return -3;
}else if(!get_column_result(candidateSolution)){
return -4;
}else{
return 0;
}

}

public boolean verify_numberic(String candidateSolution){
for(int i = 0;i<candidateSolution.length();i++){
if(!isNumeric(Character.toString(candidateSolution.charAt(i)))){
return false;
}
}
return true;
}

public boolean isNumeric(String str)
{
try
{
int d = Integer.parseInt(str);
}catch(NumberFormatException nfe){
return false;
}
return true;
}

/**
* 1-9 only appear only once in the string
* @param nums
* @return boolean
*/
public boolean verify_unique(int[] nums){
int num[] = {0,0,0,0,0,0,0,0,0};

if(nums.length != 9){
return false;
}

for(int i = 0;i<9;i++){

// how to convert char to int?
int x = nums[i] - 1 - 48;

if(num[x] == 1){
return false;
}else{
num[x] =1;
}
}
return true;
}


public boolean get_column_result(String nums){
int[] line_nums = new int[9];

for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
line_nums[j] = nums.charAt(i*9+j);

}
if(!verify_unique(line_nums)){
return false;
}
}

return true;
}


public boolean get_row_result(String nums){
int[] line_nums = new int[9];

for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
line_nums[j] = nums.charAt(j * 9 + i);
}
if (!verify_unique(line_nums)) {
return false;
}
}

return true;
}

public boolean get_gird_result(String nums){
int[] line_nums = new int[9];


for (int i=0;i<3;i++){
for (int m = 0; m < 3; m++) {
for(int n =0;n<3;n++){
line_nums[3 * m + n] = nums.charAt(9 * m + n + 3 * i);
}
}

if (!verify_unique(line_nums)) {
return false;
}
}

String newNums = nums.substring(26);
if(get_gird_result(newNums)){
return false;
}



return true;
}


}
42 changes: 40 additions & 2 deletions src/org/univoulu/tol/sqatlab/sudoku/TestSudokuVerifier.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,46 @@
public class TestSudokuVerifier {

@Test
public void test() {
fail("Not yet implemented");
public void testValid() {
SudokuVerifier sudo = new SudokuVerifier();
//correct
assertEquals(0,sudo.verify("417369825632158947958724316825437169791586432346912758289643571573291684164875293"));

}
@Test
public void testRule1() {
SudokuVerifier sudo = new SudokuVerifier();

//incorrect Rules 1: positive digits
assertEquals(-1,sudo.verify("-12345112345678891234567789123456678912345567891234456789123345678912234567891"));

}

@Test
public void testRule2() {
SudokuVerifier sudo = new SudokuVerifier();
//incorrect Rules 2: repeat in a gird
assertEquals(-2,sudo.verify("12345112345678891234567789123456678912345567891234456789123345678912234567891"));


}

@Test
public void testRule3() {
SudokuVerifier sudo = new SudokuVerifier();

//incorrect Rules 3: repeat in a row
assertEquals(-3,sudo.verify("271985436564213789893674512915428673642739851738156924326597148487361295159842361"));


}

@Test
public void testRule4() {
SudokuVerifier sudo = new SudokuVerifier();

//incorrect Rules 4: repeat in a columns
// I can't find any testcase for this Rules
assertEquals(0,sudo.verify("417369825632158947958724316825437169791586432346912758289643571573291684164875293"));
}
}
27 changes: 27 additions & 0 deletions src/org/univoulu/tol/sqatlab/sudoku/main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.univoulu.tol.sqatlab.sudoku;

import static org.junit.Assert.assertEquals;

public class main {

public static void main(String[] args) {
// TODO Auto-generated method stub
SudokuVerifier sudo = new SudokuVerifier();
//correct
System.out.println(sudo.verify("417369825632158947958724316825437169791586432346912758289643571573291684164875293"));

//incorrect Rules 1: positive digits
System.out.println(sudo.verify("-12345112345678891234567789123456678912345567891234456789123345678912234567891"));

//incorrect Rules 2: repeat in a gird
System.out.println(sudo.verify("12345112345678891234567789123456678912345567891234456789123345678912234567891"));

//incorrect Rules 3: repeat in a row
System.out.println(sudo.verify("271985436564213789893674512915428673642739851738156924326597148487361295159842361"));

//incorrect Rules 4: repeat in a jcoumns
System.out.println(sudo.verify("417369825632158947958724316825437169791586432346912758289643571573291684164875293"));

}

}