Esempio n. 1
0
        public void ImmutableGame_Shift_Should_CreateNewImmutableGameCorrectly()
        {
            ImmutableGame game = new ImmutableGame(1, 2, 3, 0);

            game = game.Shift(2);
            Coordinates resultCoordinatesOfZero = game.GetLocation(0);
            int         shiftedTile             = game[1, 1];

            Assert.AreEqual(2, shiftedTile);
            Assert.AreEqual(0, resultCoordinatesOfZero.X);
            Assert.AreEqual(1, resultCoordinatesOfZero.Y);
        }
Esempio n. 2
0
        public void Shift_ExistingValue_TilesMoved()
        {
            List <int> sequenceOfNumbers = new List <int>()
            {
                1, 6, 3, 4, 5, 7, 8, 2, 0
            };
            ImmutableGame game      = new ImmutableGame(sequenceOfNumbers);
            IGame         decorator = new GameDecorator(game);

            decorator.Shift(2);
            List <int> newSequenceOfNumbers = new List <int>()
            {
                1, 6, 3, 4, 5, 7, 8, 0, 2
            };
            List <int> newSequenceOfNumbersInDecorator = new List <int>();
            List <int> newSequenceOfNumbersInOldGame   = new List <int>();

            foreach (var valueTile in game.Tiles)
            {
                newSequenceOfNumbersInOldGame.Add(valueTile);
            }
            foreach (var valueTile in decorator.Tiles)
            {
                newSequenceOfNumbersInDecorator.Add(valueTile);
            }
            for (int i = 0; i < sequenceOfNumbers.Count; i++)
            {
                Assert.AreEqual(newSequenceOfNumbers[i], newSequenceOfNumbersInDecorator[i]);
            }

            for (int i = 0; i < sequenceOfNumbers.Count; i++)
            {
                if (i != 7 && i != 8)
                {
                    Assert.AreEqual(newSequenceOfNumbers[i], newSequenceOfNumbersInOldGame[i]);
                }
                else
                {
                    Assert.AreNotEqual(newSequenceOfNumbers[i], newSequenceOfNumbersInOldGame[i]);
                }
            }
        }
 public override void CheckingUniquenessOfNumbers_NotUniqueSequenceOfNumbers_ReturnException()
 {
     ImmutableGame game = new ImmutableGame(notUniqueCorrectSequenceOfNumbers);
 }
        public override void CheckingUniquenessOfNumbers_UniqueSequenceOfNumbers_ReturnTrue()
        {
            ImmutableGame game = new ImmutableGame(correctSequenceOfNumbers);

            Assert.True(game.CheckingUniquenessOfNumbers(correctSequenceOfNumbers));
        }
 public override void Initialization_IncorrectFieldSize_ReturnException()
 {
     ImmutableGame game = new ImmutableGame(sequenceOfNumbersWithIncorrectSize);
 }
 public ImmutableGameTests()
 {
     gameWithCorrectSequence = new ImmutableGame(correctSequenceOfNumbers);
 }