Esempio n. 1
0
            public void Flagging_a_flagged_tile_should_do_nothing()
            {
                var tile = new MineTile();

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

                tile.Flag();

                tile.GetStatus().Should().Be(TileStatus.Flagged);
            }
Esempio n. 2
0
            public void Flagging_an_untouched_tile_should_flag_it()
            {
                var tile = new MineTile();

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

                tile.Flag();

                tile.GetStatus().Should().Be(TileStatus.Flagged);
            }
Esempio n. 3
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.");
            }
Esempio n. 4
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);
            }
Esempio n. 5
0
            public void Revealing_a_flagged_tile_should_set_status_to_clicked()
            {
                var tile = new MineTile();

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

                tile.Reveal();

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