forked from ChicoState/Guesser
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGuesserTest.cpp
More file actions
66 lines (54 loc) · 1.45 KB
/
GuesserTest.cpp
File metadata and controls
66 lines (54 loc) · 1.45 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
* Unit Tests for the class
**/
#include <gtest/gtest.h>
#include "Guesser.h"
class GuesserTest : public ::testing::Test
{
protected:
GuesserTest(){} //constructor runs before each test
virtual ~GuesserTest(){} //destructor cleans up after tests
virtual void SetUp(){} //sets up before each test (after constructor)
virtual void TearDown(){} //clean up after each test, (before destructor)
};
// Example "smoke test" (can be deleted)
TEST(GuesserTest, smoke_test)
{
Guesser object("Secret");
ASSERT_EQ( 1+1, 2 );
}
TEST(GuesserTest,three_tries) {
Guesser object("Secret");
object.match("wrong");
object.match("wrong");
object.match("wrong");
ASSERT_FALSE(object.match("Secret"));
}
TEST(GuesserTest,zero_length_guess) {
Guesser object("Secret");
ASSERT_FALSE(object.match(""));
}
TEST(GuesserTest,long_guess) {
Guesser object("Secret");
ASSERT_EQ(object.distance("Secret1"),1);
}
TEST(GuesserTest,short_guess) {
Guesser object("Secret");
ASSERT_EQ(object.distance("Secre"),1);
}
TEST(GuesserTest,same_len_guess) {
Guesser object("Secret");
ASSERT_EQ(object.distance("Secrel"),1);
}
TEST(GuesserTest,long_input) {
Guesser object("SecretSecretSecretSecretSecretSecret");
ASSERT_TRUE(object.match(SecretSecretSecretSecretSecretSe));
}
TEST(GuesserTest,correct_guess) {
Guesser object("Secret");
ASSERT_TRUE(object.match("Secret"));
}
TEST(GuesserTest,zero_distance) {
Guesser object("Secret");
ASSERT_EQ(object.distance("Secret"),0);
}