def generate(request): """ Generate the grid and redirect to grid view """ import sudoku import hashlib from sudoku.models import marshal_grid from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse grid = sudoku.generate_sudoku() grid_str = marshal_grid(grid) grid_mask = marshal_grid(sudoku.masked_grid(grid, factor=2)) grid_alias = hashlib.sha224(grid_str).hexdigest() ip_address = request.META['REMOTE_ADDR'] if 'HTTP_X_FORWARDED_FOR' in request.META: ip_address = request.META['HTTP_X_FORWARDED_FOR'] user_agent = request.META['HTTP_USER_AGENT'] gs = GeneratedSudoku(alias=grid_alias) gs.ip_address = ip_address gs.user_agent = user_agent gs.sudoku_data = grid_str gs.sudoku_masked = grid_mask gs.save() return HttpResponseRedirect(reverse('sudoku-view', args=[grid_alias]))
def test_generate_sudoku(self): grid = sudoku.generate_sudoku(40) expected_unknown = 41 actual_unknown = sum(1 for row in grid for e in row if e == ".") self.assertEqual(expected_unknown, actual_unknown) solution = sudoku.solve(grid) solved = sudoku.check_solution(solution) self.assertTrue(solved) grid = sudoku.generate_sudoku(1000) expected_unknown = 0 actual_unknown = sum(1 for row in grid for e in row if e == ".") self.assertEqual(expected_unknown, actual_unknown) solution = sudoku.solve(grid) solved = sudoku.check_solution(solution) self.assertTrue(solved) grid = sudoku.generate_sudoku(0) expected_unknown = 81 actual_unknown = sum(1 for row in grid for e in row if e == ".") self.assertEqual(expected_unknown, actual_unknown) solution = sudoku.solve(grid) solved = sudoku.check_solution(solution) self.assertTrue(solved)
def test_generate_board(): eq_(check_valid_board(sudoku.generate_sudoku()), True)
def test_generate_sudoku_recurse(): result = sudoku.generate_sudoku() eq_(result, NO_SHUFFLE_BOARD)
def test_gen(self): print "Testing sudoku 9x9" grid = sudoku.generate_sudoku() self.failUnlessEqual(sudoku.valid_grid(grid), True)