def test_soduku_to_solve_is_invalid_when_contains_less_than_81_numbers(self):
                sudoku_test_only_numbers  = NorvigAlgorithm("""092300000
000080100
000000000
107040000
000000065
800000000
060502000""", "0")
                
                self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_is_valid_when_characters_to_replace_are_porcentage(self):
                sudoku_test_only_numbers  = NorvigAlgorithm("""%923%%%%%
%%%%8%1%%
%%%%%%%%%
1%7%4%%%%
%%%%%%%65
8%%%%%%%%
%6%5%2%%%
4%%%%%7%%
%%%9%%%%%""", "%")
                
                self.assertTrue(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_not_contain_spaces_as_empty_value_if_the_empty_value_is_zero(self):
                sudoku_test_only_numbers  = NorvigAlgorithm(""" 923    
    8 1  
      1
1 7 4
      465
8        
 6 5 2   
4     2  
   9      """, "0")
                
                self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_cannot_contain_letters(self):
                sudoku_test_only_numbers  = NorvigAlgorithm("""092300000
000080100
000000000
107040000
000000A65
800000000
060502000
400000C00
000900000""", "0")
                
                self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_cannot_contain_dot_as_empty_value_if_the_empty_value_is_zero(self):
                sudoku_test_only_numbers  = NorvigAlgorithm("""092300000
....80100
...000000
107040000
..0..0465
800000000
060502000
400000200
000900000""", "0")
                
                self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_is_invalid_when_contains_less_than_81_numbers(
            self):
        sudoku_test_only_numbers = NorvigAlgorithm(
            """092300000
000080100
000000000
107040000
000000065
800000000
060502000""", "0")

        self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_only_contains_numbers(self):
                sudoku_test_only_numbers  = NorvigAlgorithm("""092300000
000080100
000000000
107040000
000000065
800000000
060502000
400000700
000900000""", "0")
                
                self.assertTrue(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_cannot_contain_letters(self):
        sudoku_test_only_numbers = NorvigAlgorithm(
            """092300000
000080100
000000000
107040000
000000A65
800000000
060502000
400000C00
000900000""", "0")

        self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_only_contains_numbers(self):
        sudoku_test_only_numbers = NorvigAlgorithm(
            """092300000
000080100
000000000
107040000
000000065
800000000
060502000
400000700
000900000""", "0")

        self.assertTrue(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_is_valid_when_characters_to_replace_are_porcentage(
            self):
        sudoku_test_only_numbers = NorvigAlgorithm(
            """%923%%%%%
%%%%8%1%%
%%%%%%%%%
1%7%4%%%%
%%%%%%%65
8%%%%%%%%
%6%5%2%%%
4%%%%%7%%
%%%9%%%%%""", "%")

        self.assertTrue(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_not_contain_spaces_as_empty_value_if_the_empty_value_is_zero(
            self):
        sudoku_test_only_numbers = NorvigAlgorithm(
            """ 923    
    8 1  
      1
1 7 4
      465
8        
 6 5 2   
4     2  
   9      """, "0")

        self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())
    def test_soduku_to_solve_cannot_contain_dot_as_empty_value_if_the_empty_value_is_zero(
            self):
        sudoku_test_only_numbers = NorvigAlgorithm(
            """092300000
....80100
...000000
107040000
..0..0465
800000000
060502000
400000200
000900000""", "0")

        self.assertFalse(sudoku_test_only_numbers.sudoku_data_is_valid())