mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 06:21:29 +00:00
Add tests covering basic logic
This commit is contained in:
parent
951ca5f313
commit
2d7048efa8
@ -7,12 +7,219 @@ namespace csharp
|
||||
public class GildedRoseTest
|
||||
{
|
||||
[Test]
|
||||
public void foo()
|
||||
public void UpdateQuality_LowersItemQualityBy1()
|
||||
{
|
||||
IList<Item> Items = new List<Item> { new Item { Name = "foo", SellIn = 0, Quality = 0 } };
|
||||
GildedRose app = new GildedRose(Items);
|
||||
app.UpdateQuality();
|
||||
Assert.AreEqual("fixme", Items[0].Name);
|
||||
var item = new Item
|
||||
{
|
||||
Name = "test",
|
||||
Quality = 5,
|
||||
SellIn = 30
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_LowersItemSellInBy1()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "test",
|
||||
Quality = 5,
|
||||
SellIn = 30
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.SellIn, Is.EqualTo(29));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_ItemWithZeroSellIn_LowersItemQualityBy2()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "test",
|
||||
Quality = 5,
|
||||
SellIn = 0
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(3));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_ItemWithZeroQuality_StayAtZeroQuality()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "test",
|
||||
Quality = 0,
|
||||
SellIn = 30
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_AgedBrie_IncreaseQualityBy1()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Aged Brie",
|
||||
Quality = 0,
|
||||
SellIn = 30
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(1));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_AgedBrieWith50Quality_StayAt50Quality()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Aged Brie",
|
||||
Quality = 50,
|
||||
SellIn = 30
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(50));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_Sulfuras_DoesNotDecreaseQuality()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Sulfuras, Hand of Ragnaros",
|
||||
Quality = 80,
|
||||
SellIn = 30
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(80));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_Sulfuras_DoesNotDecreaseSellIn()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Sulfuras, Hand of Ragnaros",
|
||||
Quality = 80,
|
||||
SellIn = 30
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.SellIn, Is.EqualTo(30));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_BackstagePassesWithMoreThan10DaysLeft_IncreasesQualityBy1()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Backstage passes to a TAFKAL80ETC concert",
|
||||
Quality = 35,
|
||||
SellIn = 11
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(36));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_BackstagePassesWith10DaysLeft_IncreasesQualityBy2()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Backstage passes to a TAFKAL80ETC concert",
|
||||
Quality = 35,
|
||||
SellIn = 10
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(37));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_BackstagePassesWith5DaysLeft_IncreasesQualityBy3()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Backstage passes to a TAFKAL80ETC concert",
|
||||
Quality = 35,
|
||||
SellIn = 5
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(38));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UpdateQuality_BackstagePassesWith0DaysLeft_SetQualityToZero()
|
||||
{
|
||||
var item = new Item
|
||||
{
|
||||
Name = "Backstage passes to a TAFKAL80ETC concert",
|
||||
Quality = 35,
|
||||
SellIn = 0
|
||||
};
|
||||
|
||||
var items = new List<Item>(new[] { item });
|
||||
var gRose = new GildedRose(items);
|
||||
|
||||
gRose.UpdateQuality();
|
||||
|
||||
Assert.That(item.Quality, Is.EqualTo(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user