Add test_peers(); fix up some errors found
This commit is contained in:
		
							parent
							
								
									00225aca44
								
							
						
					
					
						commit
						cf43b02aa9
					
				
					 2 changed files with 30 additions and 4 deletions
				
			
		|  | @ -40,8 +40,7 @@ class Sudoku: | |||
|         ''' | ||||
|         Return an iterable of ranges of indexes into the board, each defining a row. | ||||
|         ''' | ||||
|         sz = self.size | ||||
|         return (self._row(i, size) for i in range(sz)) | ||||
|         return (self._row(i, self.size) for i in range(self.size)) | ||||
| 
 | ||||
|     @property | ||||
|     def index_columns(self): | ||||
|  | @ -50,7 +49,7 @@ class Sudoku: | |||
|         ''' | ||||
|         sz = self.size | ||||
|         sz2 = sz ** 2 | ||||
|         return (self._column(c, sz, sz2) for i in range(sz)) | ||||
|         return (self._column(i, sz, sz2) for i in range(sz)) | ||||
| 
 | ||||
|     @property | ||||
|     def index_squares(self): | ||||
|  |  | |||
							
								
								
									
										29
									
								
								test.py
									
										
									
									
									
								
							
							
						
						
									
										29
									
								
								test.py
									
										
									
									
									
								
							|  | @ -14,7 +14,7 @@ class Sudoku4TestCase(unittest.TestCase): | |||
| class Sudoku4BasicTests(Sudoku4TestCase): | ||||
|     def test_that_board_is_sane(self): | ||||
|         self.assertEqual(self.board.size, 4) | ||||
|         self.assertEqual(len(self.board.board), 4**2) | ||||
|         self.assertEqual(len(self.board._board), 4**2) | ||||
|         self.assertEqual(self.board.dimension, 2) | ||||
| 
 | ||||
|     def test_rows(self): | ||||
|  | @ -53,6 +53,33 @@ class Sudoku4BasicTests(Sudoku4TestCase): | |||
|             with self.subTest(sq=sq_list, ex=exsq): | ||||
|                 self.assertEqual(sq_list, exsq) | ||||
| 
 | ||||
|     def test_peers(self): | ||||
|         expected_peers = { | ||||
|             (0,0): set([0, 1, 2, 3, 4, 8, 12, 5]), | ||||
|             (1,0): set([0, 1, 2, 3, 5, 9, 13, 4]), | ||||
|             (2,0): set([0, 1, 2, 3, 6, 10, 14, 7]), | ||||
|             (3,0): set([0, 1, 2, 3, 7, 11, 15, 6]), | ||||
| 
 | ||||
|             (0,1): set([4, 5, 6, 7, 0, 8, 12, 1]), | ||||
|             (1,1): set([4, 5, 6, 7, 1, 9, 13, 0]), | ||||
|             (2,1): set([4, 5, 6, 7, 2, 10, 14, 3]), | ||||
|             (3,1): set([4, 5, 6, 7, 3, 11, 15, 2]), | ||||
| 
 | ||||
|             (0,2): set([8, 9, 10, 11, 0, 4, 12, 13]), | ||||
|             (1,2): set([8, 9, 10, 11, 1, 5, 13, 12]), | ||||
|             (2,2): set([8, 9, 10, 11, 2, 6, 14, 15]), | ||||
|             (3,2): set([8, 9, 10, 11, 3, 7, 15, 14]), | ||||
| 
 | ||||
|             (0,3): set([12, 13, 14, 15, 0, 4, 8, 9]), | ||||
|             (1,3): set([12, 13, 14, 15, 1, 5, 9, 8]), | ||||
|             (2,3): set([12, 13, 14, 15, 2, 6, 10, 11]), | ||||
|             (3,3): set([12, 13, 14, 15, 3, 7, 11, 10]), | ||||
|         } | ||||
|         for (coords, expeers) in expected_peers.items(): | ||||
|             with self.subTest(coord=coords, ex=expeers): | ||||
|                 peers = self.board.index_peers(*coords) | ||||
|                 self.assertEqual(peers, expeers) | ||||
| 
 | ||||
| class Sudoku4SolvedTests(Sudoku4TestCase): | ||||
|     def test_that_an_empty_board_is_not_solved(self): | ||||
|         self.assertFalse(self.board.solved) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue