public void TileList_should_throw_on_invalid_move_on_vertical_axis() { var tiles = new List <Tile> { new EmptyTile { Location = new Location(0, 0) }, new NumberTile { Location = new Location(1, 0), Value = 2 } }; var sut = new TileList(Axis.Vertical, tiles); sut.Invoking(a => a.CanMoveTowardsZero(Direction.East)) .Should().Throw <ArgumentException>(); sut.Invoking(a => a.CanMoveTowardsZero(Direction.West)) .Should().Throw <ArgumentException>(); }