コード例 #1
0
        static void Main(string[] args)
        {
            if (args.Length == 1)
            {
                var path       = args[0];
                var fileParser = new Input.FileParser();
                var items      = fileParser.ReadFile(path);

                foreach (var item in items)
                {
                    var factory        = new DayUpdaterFactory();
                    var updateStrategy = factory.GetDayUpdater(item.Name);
                    if (updateStrategy == null)
                    {
                        Console.WriteLine("NO SUCH ITEM");
                    }
                    else
                    {
                        var updatedItem = updateStrategy.Add(item);
                        Console.WriteLine($"{updatedItem.Name} {updatedItem.SellIn} {updatedItem.Quality}");
                    }
                }
            }
            else
            {
                Console.WriteLine("Please supply one argument which should be the path to the input file");
            }
        }
コード例 #2
0
        public void GetDayUpdater_InvalidItem_ReturnNull()
        {
            var target = new DayUpdaterFactory();

            var result = target.GetDayUpdater("INVALID ITEM");

            Assert.Null(result);
        }
コード例 #3
0
        public void GetDayUpdater_CreatesConjured()
        {
            var target = new DayUpdaterFactory();

            var result = target.GetDayUpdater("Conjured");

            Assert.IsType <ConjuredUpdater>(result);
        }
コード例 #4
0
        public void GetDayUpdater_CreatesSulfuras()
        {
            var target = new DayUpdaterFactory();

            var result = target.GetDayUpdater("Sulfuras");

            Assert.IsType <SulfurasUpdater>(result);
        }
コード例 #5
0
        public void GetDayUpdater_CreatesNormalItem()
        {
            var target = new DayUpdaterFactory();

            var result = target.GetDayUpdater("Normal Item");

            Assert.IsType <NormalDayUpdater>(result);
        }
コード例 #6
0
        public void GetDayUpdater_CreatesBackstagePasses()
        {
            var target = new DayUpdaterFactory();

            var result = target.GetDayUpdater("Backstage passes");

            Assert.IsType <BackstagePassesDayUpdater>(result);
        }
コード例 #7
0
        public void GetDayUpdater_CreatesAgedBrie()
        {
            var target = new DayUpdaterFactory();

            var result = target.GetDayUpdater("Aged Brie");

            Assert.IsType <AgedBrieDayUpdater>(result);
        }