diff --git a/csharp.NUnit/GildedRose/GildedRose.csproj b/csharp.NUnit/GildedRose/GildedRose.csproj
index ae2821ed..b3501052 100644
--- a/csharp.NUnit/GildedRose/GildedRose.csproj
+++ b/csharp.NUnit/GildedRose/GildedRose.csproj
@@ -1,7 +1,9 @@
-
- net8.0
-
+
+ Exe
+ GildedRoseKata
+ net8.0
+
-
+
\ No newline at end of file
diff --git a/csharp.NUnit/GildedRoseTests/TextTestFixture.cs b/csharp.NUnit/GildedRose/Program.cs
similarity index 86%
rename from csharp.NUnit/GildedRoseTests/TextTestFixture.cs
rename to csharp.NUnit/GildedRose/Program.cs
index 89c48e79..97327e26 100644
--- a/csharp.NUnit/GildedRoseTests/TextTestFixture.cs
+++ b/csharp.NUnit/GildedRose/Program.cs
@@ -1,16 +1,16 @@
using System;
using System.Collections.Generic;
-using GildedRoseKata;
-namespace GildedRoseTests;
+namespace GildedRoseKata;
-public static class TextTestFixture
+public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("OMGHAI!");
- var items = new List- {
+ 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},
@@ -34,19 +34,15 @@ public static class TextTestFixture
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 = 2;
- if (args.Length > 0)
- {
- days = int.Parse(args[0]) + 1;
- }
- for (var i = 0; i < days; i++)
+ for (var i = 0; i < 31; i++)
{
Console.WriteLine("-------- day " + i + " --------");
Console.WriteLine("name, sellIn, quality");
diff --git a/csharp.NUnit/GildedRoseTests/ApprovalTest.cs b/csharp.NUnit/GildedRoseTests/ApprovalTest.cs
index 1e63c4d1..dd984cbf 100644
--- a/csharp.NUnit/GildedRoseTests/ApprovalTest.cs
+++ b/csharp.NUnit/GildedRoseTests/ApprovalTest.cs
@@ -2,6 +2,7 @@ using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
+using GildedRoseKata;
using NUnit.Framework;
using VerifyNUnit;
@@ -16,7 +17,7 @@ public class ApprovalTest
Console.SetOut(new StringWriter(fakeOutput));
Console.SetIn(new StringReader($"a{Environment.NewLine}"));
- TextTestFixture.Main(new string[] { "30" });
+ Program.Main(new string[] { "30" });
var output = fakeOutput.ToString();
return Verifier.Verify(output);
diff --git a/csharp.xUnit/GildedRose/GildedRose.cs b/csharp.xUnit/GildedRose/GildedRose.cs
index ed7dc428..7ec604b6 100644
--- a/csharp.xUnit/GildedRose/GildedRose.cs
+++ b/csharp.xUnit/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/csharp.xUnit/GildedRose/GildedRose.csproj b/csharp.xUnit/GildedRose/GildedRose.csproj
index e830fad1..848870ae 100644
--- a/csharp.xUnit/GildedRose/GildedRose.csproj
+++ b/csharp.xUnit/GildedRose/GildedRose.csproj
@@ -1,9 +1,10 @@
-
- Exe
- net8.0
- GildedRoseKata.Program
-
+
+ Exe
+ GildedRoseKata
+ net8.0
+ GildedRoseKata.Program
+
-
+
\ No newline at end of file
diff --git a/csharp.xUnit/GildedRose/Item.cs b/csharp.xUnit/GildedRose/Item.cs
index 3d87cab4..5ad18dea 100644
--- a/csharp.xUnit/GildedRose/Item.cs
+++ b/csharp.xUnit/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/csharp.xUnit/GildedRose/Program.cs b/csharp.xUnit/GildedRose/Program.cs
index 1367fe73..97327e26 100644
--- a/csharp.xUnit/GildedRose/Program.cs
+++ b/csharp.xUnit/GildedRose/Program.cs
@@ -1,56 +1,57 @@
using System;
using System.Collections.Generic;
-namespace GildedRoseKata
+namespace GildedRoseKata;
+
+public class Program
{
- public class Program
+ public static void Main(string[] args)
{
- public static void Main(string[] args)
+ Console.WriteLine("OMGHAI!");
+
+ IList
- items = new List
-
{
- 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);
-
-
- for (var i = 0; i < 31; i++)
+ 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
{
- 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();
+ 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);
+
+
+ for (var i = 0; i < 31; 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/csharp.xUnit/GildedRoseTests/ApprovalTest.cs b/csharp.xUnit/GildedRoseTests/ApprovalTest.cs
index ba8e701f..1b68e4a0 100644
--- a/csharp.xUnit/GildedRoseTests/ApprovalTest.cs
+++ b/csharp.xUnit/GildedRoseTests/ApprovalTest.cs
@@ -1,5 +1,4 @@
-
-using GildedRoseKata;
+using GildedRoseKata;
using System;
using System.IO;
@@ -10,21 +9,20 @@ using VerifyXunit;
using Xunit;
-namespace GildedRoseTests
+namespace GildedRoseTests;
+
+public class ApprovalTest
{
- public class ApprovalTest
+ [Fact]
+ public Task ThirtyDays()
{
- [Fact]
- public Task ThirtyDays()
- {
- var fakeoutput = new StringBuilder();
- Console.SetOut(new StringWriter(fakeoutput));
- Console.SetIn(new StringReader("a\n"));
+ var fakeoutput = new StringBuilder();
+ Console.SetOut(new StringWriter(fakeoutput));
+ Console.SetIn(new StringReader("a\n"));
- Program.Main(new string[] { "30" });
- var output = fakeoutput.ToString();
+ Program.Main(new string[] { "30" });
+ var output = fakeoutput.ToString();
- return Verifier.Verify(output);
- }
+ return Verifier.Verify(output);
}
-}
+}
\ No newline at end of file
diff --git a/csharp.xUnit/GildedRoseTests/GildedRoseTest.cs b/csharp.xUnit/GildedRoseTests/GildedRoseTest.cs
index 16b7dd95..63fd7b1b 100644
--- a/csharp.xUnit/GildedRoseTests/GildedRoseTest.cs
+++ b/csharp.xUnit/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