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); }
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); }