From c56f013f1d58fd66c2a4fa37b5bfa95d7bb93eed Mon Sep 17 00:00:00 2001 From: Jonas Granquist Date: Sat, 25 Feb 2012 09:14:10 +0100 Subject: [PATCH] Moved GildedRose implementation to new file GildedRose.cc --- GildedRose/cpp/GildedRose.cc | 80 ++++++++++++++++++++++ GildedRose/cpp/GildedRose.h | 95 +-------------------------- GildedRose/cpp/GildedRoseUnitTests.cc | 12 ++++ GildedRose/cpp/Makefile | 11 ++-- 4 files changed, 102 insertions(+), 96 deletions(-) create mode 100644 GildedRose/cpp/GildedRose.cc diff --git a/GildedRose/cpp/GildedRose.cc b/GildedRose/cpp/GildedRose.cc new file mode 100644 index 00000000..dd570b1a --- /dev/null +++ b/GildedRose/cpp/GildedRose.cc @@ -0,0 +1,80 @@ +#include "GildedRose.h" + +GildedRose::GildedRose(vector 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; + } + } + } + } +} diff --git a/GildedRose/cpp/GildedRose.h b/GildedRose/cpp/GildedRose.h index 0cb1bbf9..8d236457 100644 --- a/GildedRose/cpp/GildedRose.h +++ b/GildedRose/cpp/GildedRose.h @@ -1,4 +1,5 @@ #include +#include using namespace std; @@ -16,98 +17,8 @@ class GildedRose { public: vector items; - GildedRose(vector items) : items (items) - {} + GildedRose(vector items); - 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 updateQuality(); }; - -void example() -{ - vector 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(); -} - - diff --git a/GildedRose/cpp/GildedRoseUnitTests.cc b/GildedRose/cpp/GildedRoseUnitTests.cc index 000cc6b5..7e72d830 100644 --- a/GildedRose/cpp/GildedRoseUnitTests.cc +++ b/GildedRose/cpp/GildedRoseUnitTests.cc @@ -10,3 +10,15 @@ TEST(GildedRoseTest, Foo) { EXPECT_EQ("fixme", app.items[0].name); } +void example() +{ + vector 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(); +} diff --git a/GildedRose/cpp/Makefile b/GildedRose/cpp/Makefile index 56b3f6c3..46c1eb6f 100644 --- a/GildedRose/cpp/Makefile +++ b/GildedRose/cpp/Makefile @@ -67,9 +67,12 @@ gtest_main.a : gtest-all.o gtest_main.o # gtest_main.a, depending on whether it defines its own main() # function. -#GildedRose.o : $(USER_DIR)/GildedRose.h \ -# $(GTEST_HEADERS) -# $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/GildedRose.h +GildedRose.o : $(USER_DIR)/GildedRose.cc + $(CXX) -c $^ -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 $@