示例#1
0
            public void Clicking_a_mine_tile_should_mark_it_clicked()
            {
                var tile = new MineTile();

                tile.GetStatus().Should().Be(TileStatus.Untouched);

                tile.Click();

                tile.GetStatus().Should().Be(TileStatus.Revealed);
            }
示例#2
0
            public void Flagging_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.Flag());

                ex.Message.Should().Be("Cannot flag a clicked tile.");
            }
示例#3
0
            public void Clicking_a_mine_tile_should_remove_the_flag()
            {
                var tile = new MineTile();

                tile.Flag();
                tile.GetStatus().Should().Be(TileStatus.Flagged);

                tile.Click();

                tile.GetStatus().Should().Be(TileStatus.Untouched);
            }
示例#4
0
            public void Revealing_a_clicked_tile_should_do_nothing()
            {
                var tile = new MineTile();

                tile.Click();
                tile.GetStatus().Should().Be(TileStatus.Revealed);

                tile.Reveal();

                tile.GetStatus().Should().Be(TileStatus.Revealed);
            }