generated from Coding-Cuddles/bootstrap-cpp-kata
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_gilded_rose.cpp
99 lines (75 loc) · 2.49 KB
/
test_gilded_rose.cpp
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <gmock/gmock.h>
#include "gilded_rose.h"
class GildedRoseTest : public ::testing::Test {
protected:
GildedRose inn;
};
TEST_F(GildedRoseTest, test_standard_item_quality_decreases_by_one_each_day)
{
inn.add_item("Milk", 10, 10);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 9);
}
TEST_F(GildedRoseTest, test_standard_item_quality_decreases_twice_as_fast_after_sell_by_date)
{
inn.add_item("Milk", 0, 3);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 1);
}
TEST_F(GildedRoseTest, test_standard_item_quality_is_never_negative)
{
inn.add_item("Milk", 0, 0);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 0);
}
TEST_F(GildedRoseTest, test_aged_brie_quality_increases_by_one_each_day)
{
inn.add_item("Aged Brie", 10, 10);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 11);
}
TEST_F(GildedRoseTest, test_aged_brie_quality_is_never_above_50)
{
inn.add_item("Aged Brie", 8, 50);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 50);
}
TEST_F(GildedRoseTest, test_backstage_passes_quality_increases_by_one_each_day)
{
inn.add_item("Backstage passes to a TAFKAL80ETC concert", 15, 20);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 21);
}
TEST_F(GildedRoseTest, test_backstage_passes_quality_increases_by_2_when_sell_in_10_or_less)
{
inn.add_item("Backstage passes to a TAFKAL80ETC concert", 10, 24);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 26);
}
TEST_F(GildedRoseTest, test_backstage_passes_quality_increases_by_3_when_sell_in_5_or_less)
{
inn.add_item("Backstage passes to a TAFKAL80ETC concert", 5, 33);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 36);
}
TEST_F(GildedRoseTest, test_backstage_passes_quality_is_zero_after_sell_in_date)
{
inn.add_item("Backstage passes to a TAFKAL80ETC concert", 0, 45);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 0);
}
TEST_F(GildedRoseTest, test_sulfuras_quality_and_sell_in_never_change)
{
inn.add_item("Sulfuras, Hand of Ragnaros", 10, 80);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->sell_in, 10);
EXPECT_EQ(inn.items.at(0)->quality, 80);
}
TEST_F(GildedRoseTest, test_quality_of_item_never_exceeds_50)
{
inn.add_item("Aged Brie", 10, 50);
inn.add_item("Backstage passes to a TAFKAL80ETC concert", 5, 49);
inn.update_quality();
EXPECT_EQ(inn.items.at(0)->quality, 50);
EXPECT_EQ(inn.items.at(1)->quality, 50);
}