Beispiel #1
0
        public void IsValidQuiqueSudokuTest()
        {
            SudokuController controller = new SudokuController(new GoldenManSudokuGame());
            string           value      = "[[3,7,8,1,4,9,5,2,6],[1,4,5,8,6,2,3,9,7],[6,2,9,7,5,3,1,4,8],[8,3,5,2,6,1,7,9,4],[9,2,1,4,7,3,6,5,8],[4,7,6,8,9,5,3,1,2],[9,8,3,6,1,7,4,5,2],[5,1,4,2,8,9,7,3,6],[2,6,7,5,3,4,9,8,1]]";
            bool             isValid    = controller.IsValidGame(new Board()
            {
                Values = JsonConvert.DeserializeObject <int[, ]>(value)
            });

            Assert.IsTrue(isValid);
        }
Beispiel #2
0
        public void CreatePuzzle_ShouldReturnPuzzleResponseObject()
        {
            mockLogger     = new Mock <ILogger <SudokuController> >();
            logger         = mockLogger.Object;
            mockService    = new Mock <IPuzzleService>();
            service        = mockService.Object;
            mockRepository = new Mock <IPuzzleRepository>();
            repository     = mockRepository.Object;
            sut            = new SudokuController(logger, service, repository);
            var actualResult = sut.CreatePuzzle(0);

            Assert.IsInstanceOfType(actualResult, typeof(ActionResult <PuzzleResponse>));
        }
Beispiel #3
0
        public void Solution_ShouldReturnPuzzleResponseObject()
        {
            mockLogger  = new Mock <ILogger <SudokuController> >();
            logger      = mockLogger.Object;
            mockService = new Mock <IPuzzleService>();
            mockService.Setup(x => x.GetSolvedSudoku6x6(testData.GetValidPuzzle1()))
            .Returns(testData.GetValidPuzzle1Solution());
            service        = mockService.Object;
            mockRepository = new Mock <IPuzzleRepository>();
            repository     = mockRepository.Object;
            sut            = new SudokuController(logger, service, repository);
            var actualResult = sut.Solution(new Puzzle(testData.GetValidPuzzle1()));

            Assert.IsInstanceOfType(actualResult, typeof(ActionResult <PuzzleResponse>));
        }
Beispiel #4
0
        public void CreatePuzzle_ShouldReturnNotNullObject()
        {
            mockLogger     = new Mock <ILogger <SudokuController> >();
            logger         = mockLogger.Object;
            mockService    = new Mock <IPuzzleService>();
            service        = mockService.Object;
            mockRepository = new Mock <IPuzzleRepository>();
            mockRepository.Setup(x => x.GetPuzzleById(0))
            .Returns(new Puzzle(testData.GetValidPuzzle0()
                                ));
            repository = mockRepository.Object;
            sut        = new SudokuController(logger, service, repository);
            var actualResult = sut.CreatePuzzle(0);

            Assert.IsNotNull(actualResult);
        }
Beispiel #5
0
        public void CreatePuzzle_ShouldReturnPuzzleForId0()
        {
            mockLogger     = new Mock <ILogger <SudokuController> >();
            logger         = mockLogger.Object;
            mockService    = new Mock <IPuzzleService>();
            service        = mockService.Object;
            mockRepository = new Mock <IPuzzleRepository>();
            mockRepository.Setup(x => x.GetPuzzleById(0))
            .Returns(new Puzzle(testData.GetValidPuzzle0()
                                ));
            repository = mockRepository.Object;
            sut        = new SudokuController(logger, service, repository);
            var actualResult   = sut.CreatePuzzle(0);
            var expectedResult = new PuzzleResponse(Constants.Code.OK, Constants.Message.Success, testData.GetValidPuzzle0());

            Assert.AreEqual(expectedResult.Equals(actualResult.Value), true);
        }
Beispiel #6
0
        public void Solution_ShouldReturnNoSolutionForInvalidPuzzle()
        {
            mockLogger = new Mock <ILogger <SudokuController> >();
            logger     = mockLogger.Object;
            var puzzle = testData.GetInvalidPuzzle();

            mockService = new Mock <IPuzzleService>();
            mockService.Setup(x => x.GetSolvedSudoku6x6(puzzle))
            .Returns((int[][])null);
            service        = mockService.Object;
            mockRepository = new Mock <IPuzzleRepository>();
            repository     = mockRepository.Object;
            sut            = new SudokuController(logger, service, repository);
            var actualResult   = sut.Solution(new Puzzle(puzzle));
            var expectedResult = new PuzzleResponse(Constants.Code.OK, Constants.Message.SolutionNotFound, null);

            Assert.AreEqual(expectedResult.Equals(actualResult.Value), true);
        }
Beispiel #7
0
        public void SolveSudokuTest()
        {
            SudokuController controller = new SudokuController(new GoldenManSudokuGame());

            int[,] sudoku = new int[9, 9];
            sudoku[0, 0]  = 0; sudoku[0, 1] = 0; sudoku[0, 2] = 0; sudoku[0, 3] = 0; sudoku[0, 4] = 0; sudoku[0, 5] = 0; sudoku[0, 6] = 0; sudoku[0, 7] = 0; sudoku[0, 8] = 0;
            sudoku[1, 0]  = 0; sudoku[1, 1] = 0; sudoku[1, 2] = 0; sudoku[1, 3] = 0; sudoku[1, 4] = 0; sudoku[1, 5] = 0; sudoku[1, 6] = 0; sudoku[1, 7] = 0; sudoku[1, 8] = 0;
            sudoku[2, 0]  = 0; sudoku[2, 1] = 0; sudoku[2, 2] = 0; sudoku[2, 3] = 0; sudoku[2, 4] = 0; sudoku[2, 5] = 0; sudoku[2, 6] = 0; sudoku[2, 7] = 0; sudoku[2, 8] = 0;
            sudoku[3, 0]  = 0; sudoku[3, 1] = 0; sudoku[3, 2] = 0; sudoku[3, 3] = 0; sudoku[3, 4] = 0; sudoku[3, 5] = 0; sudoku[3, 6] = 0; sudoku[3, 7] = 0; sudoku[3, 8] = 0;
            sudoku[4, 0]  = 0; sudoku[4, 1] = 0; sudoku[4, 2] = 0; sudoku[4, 3] = 0; sudoku[4, 4] = 0; sudoku[4, 5] = 0; sudoku[4, 6] = 0; sudoku[4, 7] = 0; sudoku[4, 8] = 0;
            sudoku[5, 0]  = 0; sudoku[5, 1] = 0; sudoku[5, 2] = 0; sudoku[5, 3] = 0; sudoku[5, 4] = 0; sudoku[5, 5] = 0; sudoku[5, 6] = 0; sudoku[5, 7] = 0; sudoku[5, 8] = 0;
            sudoku[6, 0]  = 0; sudoku[6, 1] = 0; sudoku[6, 2] = 0; sudoku[6, 3] = 0; sudoku[6, 4] = 0; sudoku[6, 5] = 0; sudoku[6, 6] = 0; sudoku[6, 7] = 0; sudoku[6, 8] = 0;
            sudoku[7, 0]  = 0; sudoku[7, 1] = 0; sudoku[7, 2] = 0; sudoku[7, 3] = 0; sudoku[7, 4] = 0; sudoku[7, 5] = 0; sudoku[7, 6] = 0; sudoku[7, 7] = 0; sudoku[7, 8] = 0;
            sudoku[8, 0]  = 0; sudoku[8, 1] = 0; sudoku[8, 2] = 0; sudoku[8, 3] = 0; sudoku[8, 4] = 0; sudoku[8, 5] = 0; sudoku[8, 6] = 0; sudoku[8, 7] = 0; sudoku[8, 8] = 0;

            bool isValid = controller.IsValidGame(new Board()
            {
                Values = sudoku
            });

            Assert.IsTrue(isValid);
        }
Beispiel #8
0
 private void Awake()
 {
     _text             = GetComponentInChildren <TextMeshProUGUI>();
     _cellButton       = GetComponentInChildren <Button>();
     _sudokuController = FindObjectOfType <SudokuController>();
 }
Beispiel #9
0
 private void Awake()
 {
     _sudokuController = GetComponent <SudokuController>();
 }
Beispiel #10
0
 private void Awake()
 {
     _sudokuController = FindObjectOfType <SudokuController>();
 }