From c3d6116add7cc789ee09ebde337a654d7ec65798 Mon Sep 17 00:00:00 2001 From: adityadev92 Date: Wed, 3 Jan 2024 16:07:20 +0530 Subject: [PATCH] Added spec for GildedRose class --- ruby/gilded_rose_spec.rb | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/ruby/gilded_rose_spec.rb b/ruby/gilded_rose_spec.rb index 269fe1b0..0a6f7591 100644 --- a/ruby/gilded_rose_spec.rb +++ b/ruby/gilded_rose_spec.rb @@ -1,12 +1,42 @@ -require File.join(File.dirname(__FILE__), 'gilded_rose') +require_relative 'gilded_rose' +require_relative 'item' 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" + expect(items[0].name).to eq "foo" + end + + it "updates quality of Aged Brie as it gets older" do + items = [Item.new("Aged Brie", 5, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 11 + end + + it "updates quality of Sulfuras, Hand of Ragnaros" do + items = [Item.new("Sulfuras, Hand of Ragnaros", 5, 80)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 80 + end + + it "updates quality of Conjured item twice as fast" do + items = [Item.new("Conjured", 5, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 6 + end + + it "updates quality of Backstage passes based on sell-in value" do + items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 12, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 11 + end + + it "sets quality of Backstage passes to 0 after concert" do + items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 0, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 0 end end