From ad56fa1ce09f8830f6fc6e8dd9ec7945bebbd1f9 Mon Sep 17 00:00:00 2001 From: Maxim Stomphorst Date: Wed, 30 Aug 2023 20:54:41 +0200 Subject: [PATCH] cleanup --- csharpcore/GildedRose/GildedRose.cs | 102 +++++++++--------- csharpcore/GildedRose/Item.cs | 15 ++- csharpcore/GildedRoseTests/ApprovalTest.cs | 29 +++-- csharpcore/GildedRoseTests/GildedRoseTest.cs | 21 ++-- .../GildedRoseTests/GildedRoseTests.csproj | 4 +- csharpcore/GildedRoseTests/TextTestFixture.cs | 61 +++++++++++ csharpcore/GildedRoseTests/TexttestFixture.cs | 64 ----------- 7 files changed, 144 insertions(+), 152 deletions(-) create mode 100644 csharpcore/GildedRoseTests/TextTestFixture.cs delete mode 100644 csharpcore/GildedRoseTests/TexttestFixture.cs diff --git a/csharpcore/GildedRose/GildedRose.cs b/csharpcore/GildedRose/GildedRose.cs index ed7dc428..7ec604b6 100644 --- a/csharpcore/GildedRose/GildedRose.cs +++ b/csharpcore/GildedRose/GildedRose.cs @@ -1,89 +1,89 @@ using System.Collections.Generic; -namespace GildedRoseKata +namespace GildedRoseKata; + +public class GildedRose { - public class GildedRose + private readonly IList _items; + + public GildedRose(IList items) { - IList Items; - public GildedRose(IList Items) - { - this.Items = Items; - } + _items = items; + } - public void UpdateQuality() + public void UpdateQuality() + { + for (var i = 0; i < _items.Count; i++) { - for (var i = 0; i < Items.Count; i++) + if (_items[i].Name != "Aged Brie" && _items[i].Name != "Backstage passes to a TAFKAL80ETC concert") { - if (Items[i].Name != "Aged Brie" && Items[i].Name != "Backstage passes to a TAFKAL80ETC concert") + if (_items[i].Quality > 0) { - if (Items[i].Quality > 0) + if (_items[i].Name != "Sulfuras, Hand of Ragnaros") { - if (Items[i].Name != "Sulfuras, Hand of Ragnaros") - { - Items[i].Quality = Items[i].Quality - 1; - } + _items[i].Quality = _items[i].Quality - 1; } } - else + } + else + { + if (_items[i].Quality < 50) { - if (Items[i].Quality < 50) + _items[i].Quality = _items[i].Quality + 1; + + if (_items[i].Name == "Backstage passes to a TAFKAL80ETC concert") { - 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].SellIn < 11) + if (_items[i].Quality < 50) { - if (Items[i].Quality < 50) - { - Items[i].Quality = Items[i].Quality + 1; - } + _items[i].Quality = _items[i].Quality + 1; } + } - if (Items[i].SellIn < 6) + if (_items[i].SellIn < 6) + { + if (_items[i].Quality < 50) { - if (Items[i].Quality < 50) - { - Items[i].Quality = Items[i].Quality + 1; - } + _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].Name != "Sulfuras, Hand of Ragnaros") + { + _items[i].SellIn = _items[i].SellIn - 1; + } - if (Items[i].SellIn < 0) + if (_items[i].SellIn < 0) + { + if (_items[i].Name != "Aged Brie") { - if (Items[i].Name != "Aged Brie") + if (_items[i].Name != "Backstage passes to a TAFKAL80ETC concert") { - if (Items[i].Name != "Backstage passes to a TAFKAL80ETC concert") + if (_items[i].Quality > 0) { - if (Items[i].Quality > 0) + if (_items[i].Name != "Sulfuras, Hand of Ragnaros") { - if (Items[i].Name != "Sulfuras, Hand of Ragnaros") - { - Items[i].Quality = Items[i].Quality - 1; - } + _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; - } + _items[i].Quality = _items[i].Quality - _items[i].Quality; + } + } + else + { + if (_items[i].Quality < 50) + { + _items[i].Quality = _items[i].Quality + 1; } } } } } -} +} \ No newline at end of file diff --git a/csharpcore/GildedRose/Item.cs b/csharpcore/GildedRose/Item.cs index 3d87cab4..5ad18dea 100644 --- a/csharpcore/GildedRose/Item.cs +++ b/csharpcore/GildedRose/Item.cs @@ -1,9 +1,8 @@ -namespace GildedRoseKata +namespace GildedRoseKata; + +public class Item { - public class Item - { - public string Name { get; set; } - public int SellIn { get; set; } - public int Quality { get; set; } - } -} + public string Name { get; set; } + public int SellIn { get; set; } + public int Quality { get; set; } +} \ No newline at end of file diff --git a/csharpcore/GildedRoseTests/ApprovalTest.cs b/csharpcore/GildedRoseTests/ApprovalTest.cs index db1dc91c..217ae030 100644 --- a/csharpcore/GildedRoseTests/ApprovalTest.cs +++ b/csharpcore/GildedRoseTests/ApprovalTest.cs @@ -3,27 +3,24 @@ using System.IO; using System.Text; using ApprovalTests; using ApprovalTests.Reporters; -using GildedRoseTests; using NUnit.Framework; -namespace csharp +namespace GildedRoseTests; + +[UseReporter(typeof(DiffReporter))] +[TestFixture] +public class ApprovalTest { - [UseReporter(typeof(DiffReporter))] - [TestFixture] - public class ApprovalTest + [Test] + public void ThirtyDays() { - [Test] - public void ThirtyDays() - { - - StringBuilder fakeoutput = new StringBuilder(); - Console.SetOut(new StringWriter(fakeoutput)); - Console.SetIn(new StringReader("a\n")); + StringBuilder fakeOutput = new StringBuilder(); + Console.SetOut(new StringWriter(fakeOutput)); + Console.SetIn(new StringReader($"a{Environment.NewLine}")); - TexttestFixture.Main(new string[] { }); - var output = fakeoutput.ToString(); + TextTestFixture.Main(new string[] { }); + var output = fakeOutput.ToString(); - Approvals.Verify(output); - } + Approvals.Verify(output); } } \ No newline at end of file diff --git a/csharpcore/GildedRoseTests/GildedRoseTest.cs b/csharpcore/GildedRoseTests/GildedRoseTest.cs index 6e5d24b6..e5902535 100644 --- a/csharpcore/GildedRoseTests/GildedRoseTest.cs +++ b/csharpcore/GildedRoseTests/GildedRoseTest.cs @@ -2,17 +2,16 @@ using System.Collections.Generic; using GildedRoseKata; -namespace GildedRoseTests +namespace GildedRoseTests; + +public class GildedRoseTest { - public class GildedRoseTest + [Fact] + public void Foo() { - [Fact] - public void foo() - { - IList Items = new List { new Item { Name = "foo", SellIn = 0, Quality = 0 } }; - GildedRose app = new GildedRose(Items); - app.UpdateQuality(); - Assert.Equal("fixme", Items[0].Name); - } + IList items = new List { new Item { Name = "foo", SellIn = 0, Quality = 0 } }; + GildedRose app = new GildedRose(items); + app.UpdateQuality(); + Assert.Equal("fixme", items[0].Name); } -} +} \ No newline at end of file diff --git a/csharpcore/GildedRoseTests/GildedRoseTests.csproj b/csharpcore/GildedRoseTests/GildedRoseTests.csproj index ce830fc8..fab24a04 100644 --- a/csharpcore/GildedRoseTests/GildedRoseTests.csproj +++ b/csharpcore/GildedRoseTests/GildedRoseTests.csproj @@ -3,7 +3,7 @@ Exe net7.0 - GildedRoseTests.TexttestFixture + GildedRoseTests.TextTestFixture @@ -19,4 +19,4 @@ - + \ No newline at end of file diff --git a/csharpcore/GildedRoseTests/TextTestFixture.cs b/csharpcore/GildedRoseTests/TextTestFixture.cs new file mode 100644 index 00000000..cb95a8b2 --- /dev/null +++ b/csharpcore/GildedRoseTests/TextTestFixture.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using GildedRoseKata; + +namespace GildedRoseTests; + +public static class TextTestFixture +{ + public static void Main(string[] args) + { + Console.WriteLine("OMGHAI!"); + + IList items = new List{ + new Item {Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20}, + new Item {Name = "Aged Brie", SellIn = 2, Quality = 0}, + new Item {Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7}, + new Item {Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80}, + new Item {Name = "Sulfuras, Hand of Ragnaros", SellIn = -1, Quality = 80}, + new Item + { + Name = "Backstage passes to a TAFKAL80ETC concert", + SellIn = 15, + Quality = 20 + }, + new Item + { + Name = "Backstage passes to a TAFKAL80ETC concert", + SellIn = 10, + Quality = 49 + }, + new Item + { + Name = "Backstage passes to a TAFKAL80ETC concert", + SellIn = 5, + Quality = 49 + }, + // this conjured item does not work properly yet + new Item {Name = "Conjured Mana Cake", SellIn = 3, Quality = 6} + }; + + var app = new GildedRose(items); + + int days = 31; + if (args.Length > 0) + { + days = int.Parse(args[0]) + 1; + } + + for (var i = 0; i < days; i++) + { + Console.WriteLine("-------- day " + i + " --------"); + Console.WriteLine("name, sellIn, quality"); + for (var j = 0; j < items.Count; j++) + { + Console.WriteLine(items[j].Name + ", " + items[j].SellIn + ", " + items[j].Quality); + } + Console.WriteLine(""); + app.UpdateQuality(); + } + } +} \ No newline at end of file diff --git a/csharpcore/GildedRoseTests/TexttestFixture.cs b/csharpcore/GildedRoseTests/TexttestFixture.cs deleted file mode 100644 index e95c4e08..00000000 --- a/csharpcore/GildedRoseTests/TexttestFixture.cs +++ /dev/null @@ -1,64 +0,0 @@ - -using GildedRoseKata; - -using System; -using System.Collections.Generic; - -namespace GildedRoseTests -{ - public static class TexttestFixture - { - public static void Main(string[] args) - { - Console.WriteLine("OMGHAI!"); - - IList Items = new List{ - new Item {Name = "+5 Dexterity Vest", SellIn = 10, Quality = 20}, - new Item {Name = "Aged Brie", SellIn = 2, Quality = 0}, - new Item {Name = "Elixir of the Mongoose", SellIn = 5, Quality = 7}, - new Item {Name = "Sulfuras, Hand of Ragnaros", SellIn = 0, Quality = 80}, - new Item {Name = "Sulfuras, Hand of Ragnaros", SellIn = -1, Quality = 80}, - new Item - { - Name = "Backstage passes to a TAFKAL80ETC concert", - SellIn = 15, - Quality = 20 - }, - new Item - { - Name = "Backstage passes to a TAFKAL80ETC concert", - SellIn = 10, - Quality = 49 - }, - new Item - { - Name = "Backstage passes to a TAFKAL80ETC concert", - SellIn = 5, - Quality = 49 - }, - // this conjured item does not work properly yet - new Item {Name = "Conjured Mana Cake", SellIn = 3, Quality = 6} - }; - - var app = new GildedRose(Items); - - int days = 31; - if (args.Length > 0) - { - days = int.Parse(args[0]) + 1; - } - - for (var i = 0; i < days; i++) - { - Console.WriteLine("-------- day " + i + " --------"); - Console.WriteLine("name, sellIn, quality"); - for (var j = 0; j < Items.Count; j++) - { - System.Console.WriteLine(Items[j].Name + ", " + Items[j].SellIn + ", " + Items[j].Quality); - } - Console.WriteLine(""); - app.UpdateQuality(); - } - } - } -}