public void TranslateVertically_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.TranslateVertically(MoveDirection.Bottom); bool bottomChangeOccured = sut.ChangeOccured; sut.TranslateVertically(MoveDirection.Top); bool topChangeOccured = sut.ChangeOccured; //assert Assert.That(!bottomChangeOccured && !topChangeOccured); }
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); }