Ejemplo n.º 1
0
        public void Test_Day07_Part2_Again()
        {
            var d7 = new Day07();

            d7.DebugInput = @"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.";

            Assert.AreEqual(126, d7.SolvePt2());
        }
Ejemplo n.º 2
0
        public void Test_Day07_Part1()
        {
            var d7 = new Day07();

            d7.DebugInput = @"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.";

            Assert.AreEqual(4, d7.SolvePt1());
        }
Ejemplo n.º 3
0
        public void Test_GetParent_ReturnsNullIfNotFound()
        {
            var bag = new Bag()
            {
                Colour = "red"
            };

            bag.Bags.Add(new Tuple <Bag, int>(new Bag()
            {
                Colour = "blue"
            }, 1));
            var bags = new List <Bag>();

            bags.Add(bag);

            var result = Day07.GetParents("green", bags);

            Assert.AreEqual(0, result.Count);
        }
Ejemplo n.º 4
0
        public void Test_GetParent_ReturnsTheParentBag()
        {
            var bag = new Bag()
            {
                Colour = "red"
            };

            bag.Bags.Add(new Tuple <Bag, int>(new Bag()
            {
                Colour = "blue"
            }, 1));
            var bags = new List <Bag>();

            bags.Add(bag);

            var result = Day07.GetParents("blue", bags);

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("red", result[0].Colour);
        }
Ejemplo n.º 5
0
        public void s1ExampleParsesCorrectly(string filename, int expected)
        {
            var d7 = new Day07(filename);

            Assert.Equal(expected, d7.Solve_1());
        }
Ejemplo n.º 6
0
        public void Part2_InputFile_ReturnsCorrectionFactor()
        {
            int actual = new Day07().Part2();

            Assert.Equal(1458, actual);
        }
Ejemplo n.º 7
0
        public void Part2_KnownInput_ReturnsCorrectionFactor()
        {
            int actual = new Day07().Part2(SimpleInput);

            Assert.Equal(60, actual);
        }
Ejemplo n.º 8
0
        public void Part1_InputFile_ReturnsRootNode()
        {
            string actual = new Day07().Part1();

            Assert.Equal("aapssr", actual);
        }
Ejemplo n.º 9
0
        public void Part1_KnownInput_ReturnsRootNode()
        {
            string actual = new Day07().Part1(SimpleInput);

            Assert.Equal("tknk", actual);
        }