public static Bag GetOrCreateBag(string name)
            {
                if (AllBags.ContainsKey(name))
                {
                    return(AllBags[name]);
                }

                return(new Bag(name));
            }
Пример #2
0
        public void BagsInsideSecondTest()
        {
            string[] data = new[]
            {
                "shiny gold bags contain 2 dark red bags.",
                "dark red bags contain 2 dark orange bags.",
                "dark orange bags contain 2 dark yellow bags.",
                "dark yellow bags contain 2 dark green bags.",
                "dark green bags contain 2 dark blue bags.",
                "dark blue bags contain 2 dark violet bags.",
                "dark violet bags contain no other bags."
            };
            var bags = new AllBags(data);

            Assert.AreEqual(126, bags.BagsInside("shiny gold bag") - 1);
        }
Пример #3
0
        public IDictionary <string, object> GetBag(string bagName, bool createIfNotExist = false)
        {
            if (AllBags.ContainsKey(bagName))
            {
                return((IDictionary <string, object>)AllBags[bagName]);
            }

            if (!createIfNotExist)
            {
                return(null);
            }

            var dictionary = BagsHelper.Create();

            AllBags[bagName] = dictionary;
            return(dictionary);
        }
Пример #4
0
        public void BagsInsideSmallTest()
        {
            string[] data = new[]
            {
                "light red bags contain 1 bright white bag, 2 muted yellow bags.",
                "dark orange bags contain 3 bright white bags, 4 muted yellow bags.",
                "bright white bags contain 1 shiny gold bag.",
                "muted yellow bags contain 2 shiny gold bags, 9 faded blue bags.",
                "shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags.",
                "dark olive bags contain 3 faded blue bags, 4 dotted black bags.",
                "vibrant plum bags contain 5 faded blue bags, 6 dotted black bags.",
                "faded blue bags contain no other bags.",
                "dotted black bags contain no other bags."
            };

            var bags = new AllBags(data);

            Assert.AreEqual(32, bags.BagsInside("shiny gold bag") - 1);
        }
Пример #5
0
 public Bag GetBagById(int bagId)
 {
     return(AllBags.FirstOrDefault(b => b.id == bagId));
 }