Ejemplo n.º 1
0
        public void GetNextNodeShouldReturnTheNextNodeToPlayWhenThereIsWinningOptions()
        {
            WordTreeManager manager = new WordTreeManager(_providerMock, _configurationMock);

            TreeNode nextNode = manager.GetNextNode(manager.GetCurrentNode("t"));

            Assert.IsNotNull(nextNode);
        }
Ejemplo n.º 2
0
        public void GetMaximumLengthNodesReturnsAListOfNodesThatLeadToTheMaximumWordLength()
        {
            WordTreeManager manager = new WordTreeManager(_providerMock, _configurationMock);

            List <TreeNode> maximumLengthNodes =
                manager.GetMaximumLengthNodes(manager.GetCurrentNode("t")).ToList();

            Assert.IsNotNull(maximumLengthNodes.Count == 2);
        }
Ejemplo n.º 3
0
        public void GetWinningNodesShouldReturnAnEmptyListIfThereAreNoNodesThatLeadToVictory()
        {
            WordTreeManager manager = new WordTreeManager(_providerMock, _configurationMock);

            List <TreeNode> winningNodes =
                manager.GetWinningNodes(manager.GetCurrentNode("g")).ToList();

            Assert.IsNotNull(winningNodes.Count == 0);
        }
Ejemplo n.º 4
0
        public void GetNextMovementReturnsAPlayingMessageIfGameContinues()
        {
            WordTreeManager      manager  = new WordTreeManager(_providerMock, _configurationMock);
            GhostGameResponseDto response = manager.GetNextMovement("t");

            Assert.IsNotNull(response);
            Assert.AreEqual(GameStatus.Playing, response.GameStatus);
            Assert.IsFalse(string.IsNullOrEmpty(response.Message));
            Assert.IsFalse(string.IsNullOrEmpty(response.CurrentWord));
        }
Ejemplo n.º 5
0
        public void GetNextMovementReturnsAHumanWonMessageIfTheOnlyOptionLeftIsEndingAWord()
        {
            WordTreeManager      manager  = new WordTreeManager(_providerMock, _configurationMock);
            GhostGameResponseDto response = manager.GetNextMovement("w");

            Assert.IsNotNull(response);
            Assert.AreEqual(GameStatus.HumanPlayerWon, response.GameStatus);
            Assert.IsFalse(string.IsNullOrEmpty(response.Message));
            Assert.IsFalse(string.IsNullOrEmpty(response.CurrentWord));
        }
Ejemplo n.º 6
0
        public void GetNextMovementReturnsAComputerWonResponseIfWordDoesNotExist()
        {
            WordTreeManager      manager  = new WordTreeManager(_providerMock, _configurationMock);
            GhostGameResponseDto response = manager.GetNextMovement("x");

            Assert.IsNotNull(response);
            Assert.AreEqual(GameStatus.ComputerWon, response.GameStatus);
            Assert.IsFalse(string.IsNullOrEmpty(response.Message));
            Assert.IsFalse(string.IsNullOrEmpty(response.CurrentWord));
        }
Ejemplo n.º 7
0
        public void GetCurrentNodeReturnsTheParentNodeForTheFirstCharacterIfLastProcessedIsNotDefined()
        {
            WordTreeManager manager     = new WordTreeManager(_providerMock, _configurationMock);
            TreeNode        currentNode = manager.GetCurrentNode(TestWord);

            Assert.IsNotNull(currentNode);
            Assert.AreEqual(TestWord.First(), currentNode.Value);
            Assert.IsTrue(currentNode.Children.Count == 3);
            Assert.IsFalse(currentNode.IsLeafNode);
        }
Ejemplo n.º 8
0
        public void ResetGameSetsLastSelectedNodeToNull()
        {
            WordTreeManager manager = new WordTreeManager(_providerMock, _configurationMock);

            manager.LastSelectedNode = manager.GetCurrentNode("t");

            bool reset = manager.ResetGame();

            Assert.IsTrue(reset);
            Assert.IsNull(manager.LastSelectedNode);
        }
Ejemplo n.º 9
0
        public void GetNextMovementReturnsAComputerWonResponseIfWordCompletesATreeBranch()
        {
            WordTreeManager manager = new WordTreeManager(_providerMock, _configurationMock);

            manager.LastSelectedNode = manager.GetCurrentNode("g");
            GhostGameResponseDto response = manager.GetNextMovement("go");

            Assert.IsNotNull(response);
            Assert.AreEqual(GameStatus.ComputerWon, response.GameStatus);
            Assert.IsFalse(string.IsNullOrEmpty(response.Message));
            Assert.IsFalse(string.IsNullOrEmpty(response.CurrentWord));
        }
Ejemplo n.º 10
0
        public void GetCurrentNodeReturnsTheLastProcessedNodeChildrenIfLastProcessedIsDefined()
        {
            WordTreeManager manager = new WordTreeManager(_providerMock, _configurationMock)
            {
                LastSelectedNode = _dictionary['t']
            };
            TreeNode currentNode = manager.GetCurrentNode("te");

            Assert.IsNotNull(currentNode);
            Assert.AreEqual('e', currentNode.Value);
            Assert.IsTrue(currentNode.Children.Count == 2);
            Assert.IsFalse(currentNode.IsLeafNode);
        }
Ejemplo n.º 11
0
        public void WordTreeManagerCanBeCreatedUsingItsConstructor()
        {
            WordTreeManager manager = new WordTreeManager(_providerMock, _configurationMock);

            Assert.IsNotNull(manager);
        }