mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 04:12:13 +00:00
Moved GildedRose implementation to new file GildedRose.cc
This commit is contained in:
parent
b6553ce2f1
commit
c56f013f1d
80
GildedRose/cpp/GildedRose.cc
Normal file
80
GildedRose/cpp/GildedRose.cc
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
#include "GildedRose.h"
|
||||||
|
|
||||||
|
GildedRose::GildedRose(vector<Item> items) : items(items)
|
||||||
|
{}
|
||||||
|
|
||||||
|
void GildedRose::updateQuality()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < items.size(); i++)
|
||||||
|
{
|
||||||
|
if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert")
|
||||||
|
{
|
||||||
|
if (items[i].quality > 0)
|
||||||
|
{
|
||||||
|
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
||||||
|
{
|
||||||
|
items[i].quality = items[i].quality - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (items[i].quality < 50)
|
||||||
|
{
|
||||||
|
items[i].quality = items[i].quality + 1;
|
||||||
|
|
||||||
|
if (items[i].name == "Backstage passes to a TAFKAL80ETC concert")
|
||||||
|
{
|
||||||
|
if (items[i].sellIn < 11)
|
||||||
|
{
|
||||||
|
if (items[i].quality < 50)
|
||||||
|
{
|
||||||
|
items[i].quality = items[i].quality + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (items[i].sellIn < 6)
|
||||||
|
{
|
||||||
|
if (items[i].quality < 50)
|
||||||
|
{
|
||||||
|
items[i].quality = items[i].quality + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
||||||
|
{
|
||||||
|
items[i].sellIn = items[i].sellIn - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (items[i].sellIn < 0)
|
||||||
|
{
|
||||||
|
if (items[i].name != "Aged Brie")
|
||||||
|
{
|
||||||
|
if (items[i].name != "Backstage passes to a TAFKAL80ETC concert")
|
||||||
|
{
|
||||||
|
if (items[i].quality > 0)
|
||||||
|
{
|
||||||
|
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
||||||
|
{
|
||||||
|
items[i].quality = items[i].quality - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
items[i].quality = items[i].quality - items[i].quality;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (items[i].quality < 50)
|
||||||
|
{
|
||||||
|
items[i].quality = items[i].quality + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
@ -16,98 +17,8 @@ class GildedRose
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
vector<Item> items;
|
vector<Item> items;
|
||||||
GildedRose(vector<Item> items) : items (items)
|
GildedRose(vector<Item> items);
|
||||||
{}
|
|
||||||
|
|
||||||
void updateQuality()
|
void updateQuality();
|
||||||
{
|
|
||||||
for (int i = 0; i < items.size(); i++)
|
|
||||||
{
|
|
||||||
if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert")
|
|
||||||
{
|
|
||||||
if (items[i].quality > 0)
|
|
||||||
{
|
|
||||||
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
|
||||||
{
|
|
||||||
items[i].quality = items[i].quality - 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (items[i].quality < 50)
|
|
||||||
{
|
|
||||||
items[i].quality = items[i].quality + 1;
|
|
||||||
|
|
||||||
if (items[i].name == "Backstage passes to a TAFKAL80ETC concert")
|
|
||||||
{
|
|
||||||
if (items[i].sellIn < 11)
|
|
||||||
{
|
|
||||||
if (items[i].quality < 50)
|
|
||||||
{
|
|
||||||
items[i].quality = items[i].quality + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (items[i].sellIn < 6)
|
|
||||||
{
|
|
||||||
if (items[i].quality < 50)
|
|
||||||
{
|
|
||||||
items[i].quality = items[i].quality + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
|
||||||
{
|
|
||||||
items[i].sellIn = items[i].sellIn - 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (items[i].sellIn < 0)
|
|
||||||
{
|
|
||||||
if (items[i].name != "Aged Brie")
|
|
||||||
{
|
|
||||||
if (items[i].name != "Backstage passes to a TAFKAL80ETC concert")
|
|
||||||
{
|
|
||||||
if (items[i].quality > 0)
|
|
||||||
{
|
|
||||||
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
|
||||||
{
|
|
||||||
items[i].quality = items[i].quality - 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
items[i].quality = items[i].quality - items[i].quality;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (items[i].quality < 50)
|
|
||||||
{
|
|
||||||
items[i].quality = items[i].quality + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void example()
|
|
||||||
{
|
|
||||||
vector<Item> items;
|
|
||||||
items.push_back(Item("+5 Dexterity Vest", 10, 20));
|
|
||||||
items.push_back(Item("Aged Brie", 2, 0));
|
|
||||||
items.push_back(Item("Elixir of the Mongoose", 5, 7));
|
|
||||||
items.push_back(Item("Sulfuras, Hand of Ragnaros", 0, 80));
|
|
||||||
items.push_back(Item("Backstage passes to a TAFKAL80ETC concert", 15, 20));
|
|
||||||
items.push_back(Item("Conjured Mana Cake", 3, 6));
|
|
||||||
GildedRose app(items);
|
|
||||||
app.updateQuality();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -10,3 +10,15 @@ TEST(GildedRoseTest, Foo) {
|
|||||||
EXPECT_EQ("fixme", app.items[0].name);
|
EXPECT_EQ("fixme", app.items[0].name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void example()
|
||||||
|
{
|
||||||
|
vector<Item> items;
|
||||||
|
items.push_back(Item("+5 Dexterity Vest", 10, 20));
|
||||||
|
items.push_back(Item("Aged Brie", 2, 0));
|
||||||
|
items.push_back(Item("Elixir of the Mongoose", 5, 7));
|
||||||
|
items.push_back(Item("Sulfuras, Hand of Ragnaros", 0, 80));
|
||||||
|
items.push_back(Item("Backstage passes to a TAFKAL80ETC concert", 15, 20));
|
||||||
|
items.push_back(Item("Conjured Mana Cake", 3, 6));
|
||||||
|
GildedRose app(items);
|
||||||
|
app.updateQuality();
|
||||||
|
}
|
||||||
|
|||||||
@ -67,9 +67,12 @@ gtest_main.a : gtest-all.o gtest_main.o
|
|||||||
# gtest_main.a, depending on whether it defines its own main()
|
# gtest_main.a, depending on whether it defines its own main()
|
||||||
# function.
|
# function.
|
||||||
|
|
||||||
#GildedRose.o : $(USER_DIR)/GildedRose.h \
|
GildedRose.o : $(USER_DIR)/GildedRose.cc
|
||||||
# $(GTEST_HEADERS)
|
$(CXX) -c $^
|
||||||
# $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/GildedRose.h
|
|
||||||
|
|
||||||
GildedRose : GildedRoseUnitTests.cc gtest_main.a
|
GildedRoseUnitTests.o : $(USER_DIR)/GildedRoseUnitTests.cc \
|
||||||
|
$(GTEST_HEADERS)
|
||||||
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/GildedRoseUnitTests.cc
|
||||||
|
|
||||||
|
GildedRose : GildedRoseUnitTests.o GildedRose.o gtest_main.a
|
||||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -pthread $^ -o $@
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -pthread $^ -o $@
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user