forked from ChicoState/Minefield
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFieldTest.cpp
More file actions
38 lines (31 loc) · 767 Bytes
/
FieldTest.cpp
File metadata and controls
38 lines (31 loc) · 767 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**
* Unit Tests for Field class
**/
#include <gtest/gtest.h>
#include <iostream>
#include "Field.h"
class FieldTest : public ::testing::Test {
protected:
FieldTest() {}
virtual ~FieldTest() {}
virtual void SetUp() {}
virtual void TearDown() {}
};
TEST(FieldTest, placeMineInBounds) {
Field minefield;
minefield.placeMine(4, 5);
ASSERT_EQ(MINE_HIDDEN, minefield.get(4, 5));
}
TEST(Field, placeMineOutOfBoundsUnder) {
Field minefield;
minefield.placeMine(-1, 0);
ASSERT_ANY_THROW(minefield.get(-1, 0));
}
TEST(Field, revealAdjacentOutOfBoundsUnder) {
Field minefield;
ASSERT_ANY_THROW(minefield.revealAdjacent(-1, 1));
}
TEST(FieldTest, placeMineOutOfBoundsOver) {
Field minefield;
ASSERT_ANY_THROW(minefield.placeMine(10, 10));
}