From 6404a524ca34b7ea16a31094a5deaba3a0d781a9 Mon Sep 17 00:00:00 2001 From: insrf Date: Tue, 30 Oct 2018 00:07:29 +0500 Subject: [PATCH] add tests --- ruby/gilded_rose_spec.rb | 105 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 2 deletions(-) diff --git a/ruby/gilded_rose_spec.rb b/ruby/gilded_rose_spec.rb index 269fe1b0..d2e10165 100644 --- a/ruby/gilded_rose_spec.rb +++ b/ruby/gilded_rose_spec.rb @@ -5,9 +5,110 @@ describe GildedRose do describe "#update_quality" do it "does not change the name" do items = [Item.new("foo", 0, 0)] - GildedRose.new(items).update_quality() - expect(items[0].name).to eq "fixme" + GildedRose.new(items).update_quality + expect(items[0].name).to eq "foo" end end + describe "#classic_item_update" do + it "changed sell in" do + items = [Item.new("foo", 1, 0)] + GildedRose.new(items).update_quality + expect(items[0].sell_in).to eq(0) + end + + it "changed quality if sell in negative" do + items = [Item.new("foo", -1, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(8) + end + + it "changed quality if sell in positive" do + items = [Item.new("foo", 1, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(9) + end + end + + describe "#aged_brie_update" do + it "changed sell in" do + items = [Item.new("Aged Brie", 1, 0)] + GildedRose.new(items).update_quality + expect(items[0].sell_in).to eq(0) + end + + it "changed quality if sell in negative" do + items = [Item.new("Aged Brie", -1, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(12) + end + + it "changed quality if sell in positive" do + items = [Item.new("Aged Brie", 1, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(11) + end + end + + describe "#sulfuras_hand_of_ragnaros_update" do + it "changed sell in" do + items = [Item.new("Sulfuras, Hand of Ragnaros", 1, 80)] + GildedRose.new(items).update_quality + expect(items[0].sell_in).to eq(1) + end + + it "changed quality if sell in negative" do + items = [Item.new("Sulfuras, Hand of Ragnaros", -1, 80)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(80) + end + + it "changed quality if sell in positive" do + items = [Item.new("Sulfuras, Hand of Ragnaros", 1, 80)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(80) + end + end + + describe "#backstage_passes_to_a_tafkal80etc_concert_update" do + it "changed sell in" do + items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 1, 10)] + GildedRose.new(items).update_quality + expect(items[0].sell_in).to eq(0) + end + + it "changed quality if sell in < 6" do + items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 5, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(13) + end + + it "changed quality if sell in < 11" do + items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 10, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(12) + end + end + + describe "#conjured_mana_cake_update" do + it "changed sell in" do + items = [Item.new("Conjured Mana Cake", 1, 10)] + GildedRose.new(items).update_quality + expect(items[0].sell_in).to eq(0) + end + + it "changed quality if sell in negative" do + items = [Item.new("Conjured Mana Cake", -1, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(6) + end + + it "changed quality if sell in positive" do + items = [Item.new("Conjured Mana Cake", 1, 10)] + GildedRose.new(items).update_quality + expect(items[0].quality).to eq(8) + end + end + + end