public void TranslateHorizontally_WhenNothingChanged_SetsChangeOccuredToFalse() { //arrange var container = Substitute.For <IBoardContainer>(); var sut = new SquareTranslator(container); container.Height.Returns(3); container.Width.Returns(3); container.Squares.Returns(new ObservableCollection <SquareViewModel>() { new SquareViewModel(0, 0, 1), new SquareViewModel(1, 0, 2), new SquareViewModel(2, 0, 3), new SquareViewModel(0, 1, 4), new SquareViewModel(1, 1, 5), new SquareViewModel(2, 1, 6), new SquareViewModel(0, 2, 7), new SquareViewModel(1, 2, 8), new SquareViewModel(2, 2, 9) }); //act sut.TranslateHorizontally(MoveDirection.Right); bool rightChangeOccured = sut.ChangeOccured; sut.TranslateHorizontally(MoveDirection.Left); bool leftChangeOccured = sut.ChangeOccured; //assert Assert.That(!leftChangeOccured && !rightChangeOccured); }
public void TranslateHorizontally_WhenHorizontalMergePossible_MergesProperly() { //arrange var container = Substitute.For <IBoardContainer>(); var sut = new SquareTranslator(container); container.Height.Returns(3); container.Width.Returns(3); container.Squares.Returns(new ObservableCollection <SquareViewModel>() { new SquareViewModel { X = 0, Y = 0, Value = 1 }, new SquareViewModel { X = 1, Y = 0, Value = 2 }, new SquareViewModel { X = 2, Y = 0, Value = 3 }, new SquareViewModel { X = 0, Y = 1, Value = 4 }, new SquareViewModel { X = 1, Y = 1, Value = 5 }, new SquareViewModel { X = 2, Y = 1, Value = 6 }, new SquareViewModel { X = 0, Y = 2, Value = 7 }, new SquareViewModel { X = 1, Y = 2, Value = 8 }, new SquareViewModel { X = 2, Y = 2, Value = 8 } }); //act sut.TranslateHorizontally(MoveDirection.Right); //assert Assert.That(container.Squares[container.Squares.Count - 1].Value == 16); }
public void TranslateHorizontally_WhenMergedSquares_SetsChangeOccuredToTrue() { //arrange var container = Substitute.For <IBoardContainer>(); var sut = new SquareTranslator(container); container.Height.Returns(3); container.Width.Returns(3); container.Squares.Returns(new ObservableCollection <SquareViewModel>() { new SquareViewModel { X = 0, Y = 0, Value = 1 }, new SquareViewModel { X = 1, Y = 0, Value = 2 }, new SquareViewModel { X = 2, Y = 0, Value = 3 }, new SquareViewModel { X = 0, Y = 1, Value = 4 }, new SquareViewModel { X = 1, Y = 1, Value = 5 }, new SquareViewModel { X = 2, Y = 1, Value = 6 }, new SquareViewModel { X = 0, Y = 2, Value = 7 }, new SquareViewModel { X = 1, Y = 2, Value = 8 }, new SquareViewModel { X = 2, Y = 2, Value = 8 } }); //act sut.TranslateHorizontally(MoveDirection.Right); //assert Assert.That(sut.ChangeOccured); }