public void SecondPlayerSetterShouldThrowArgumentNullExceptionWhenNullIsPassed()
        {
            //Arrange
            var segment = new GameInfoSegment(0, 5, 0, 40);

            //Act & Assert
            Assert.ThrowsException <ArgumentNullException>(() => segment.SecondPlayer = null);
        }
        public void GameInfoSetterShouldThrowArgumentOutOfRangeExceptionWhenTooLongStringIsPassed()
        {
            //Arrange
            var segment = new GameInfoSegment(0, 5, 0, 40);
            var info    = "123456789012345678901234567890123456789012";

            //Act & Assert
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => segment.GameInfo = info);
        }
        public void CalculateGameInfoRowShouldCalculateCorrectly()
        {
            //Arrange
            var segment  = new GameInfoSegment(0, 5, 0, 40);
            var expected = 2;

            //Act & Assert
            Assert.AreEqual(expected, segment.CalculateGameInfoRow());
        }
        public void SecondPlayerSetterShouldThrowArgumentExceptionWhenAlreadySet()
        {
            //Arrange
            var segment    = new GameInfoSegment(0, 5, 0, 40);
            var playerStub = new Mock <IPlayer>().Object;

            segment.SecondPlayer = playerStub;

            //Act & Assert
            Assert.ThrowsException <ArgumentException>(() => segment.SecondPlayer = playerStub);
        }
        public void FirstPlayerSetterShouldSetCorrectParameter()
        {
            //Arrange
            var segment    = new GameInfoSegment(0, 5, 0, 40);
            var playerStub = new Mock <IPlayer>().Object;

            //Act
            segment.FirstPlayer = playerStub;

            //Assert
            Assert.AreSame(playerStub, segment.FirstPlayer);
        }
        public void CalculateGameInfoColShouldCalculateCorrectly()
        {
            //Arrange
            var segment  = new GameInfoSegment(0, 5, 0, 40);
            var gameInfo = "1234";
            var expected = 18;

            segment.GameInfo = gameInfo;

            //Act & Assert
            Assert.AreEqual(expected, segment.CalculateGameInfoCol());
        }
        public void GameInfoSetterShouldSetCorrectParameter()
        {
            //Arrange
            var segment = new GameInfoSegment(0, 5, 0, 40);
            var info    = "Never gonna give you up";

            //Act
            segment.GameInfo = info;

            //Assert
            Assert.AreEqual(info, segment.GameInfo);
        }
        public void ConstructorShouldSetTheCorrectParameters()
        {
            //Arrange
            var startingRow = 0;
            var startingCol = 0;
            var height      = 10;
            var width       = 40;

            //Act
            var segment = new GameInfoSegment(startingRow, height, startingCol, width);

            //Assert
            Assert.AreEqual(startingRow, segment.StartingRow);
            Assert.AreEqual(startingCol, segment.StartingCol);
            Assert.AreEqual(height, segment.Height);
            Assert.AreEqual(width, segment.Width);
        }