public void Unflagging_an_untouched_tile_should_do_nothing() { var tile = new MineTile(); tile.GetStatus().Should().Be(TileStatus.Untouched); tile.UnFlag(); tile.GetStatus().Should().Be(TileStatus.Untouched); }
public void Unflagging_an_flagged_tile_should_un_flag_it() { var tile = new MineTile(); tile.Flag(); tile.GetStatus().Should().Be(TileStatus.Flagged); tile.UnFlag(); tile.GetStatus().Should().Be(TileStatus.Untouched); }
public void Unflagging_a_clicked_tile_should_throw_an_error() { var tile = new MineTile(); tile.Click(); tile.GetStatus().Should().Be(TileStatus.Revealed); var ex = Assert.Throws <InvalidOperationException>(() => tile.UnFlag()); ex.Message.Should().Be("Cannot un-flag a clicked tile."); }