예제 #1
0
        public void GetDay1Part2AnswerTest()
        {
            int expected = 5176705;
            int actual   = Day01.GetDay1Part2Answer();

            Assert.Equal(expected, actual);
        }
예제 #2
0
    public void GetWindowsTest()
    {
        var data = new[]
        {
            199,
            200,
            208,
            210,
            200,
            207,
            240,
            269,
            260,
            263
        };

        var expected = new[]
        {
            607,
            618,
            618,
            617,
            647,
            716,
            769,
            792
        };

        var result = Day01.GetWindows(data);

        Assert.Equal(expected, result);
    }
예제 #3
0
    public void Day01_Part02(int mass, int fuel)
    {
        var p = new Day01();

        p.OverrideInput(mass.ToString());
        Assert.Equal(fuel.ToString(), p.Part2());
    }
예제 #4
0
        public void Day01_Part2_Examples()
        {
            var d = new Day01();

            Assert.AreEqual(1, d.SolutionPart2(")"));
            Assert.AreEqual(5, d.SolutionPart2("()())"));
        }
예제 #5
0
        public void IntersectExample()
        {
            Day01 day      = new Day01();
            var   distance = day.HowFarIsFirstIntersection("R8, R4, R4, R8");

            Assert.That(distance, Is.EqualTo(4));
        }
예제 #6
0
        public void GetDay01Part01AnswerTest()
        {
            int expected = 157059;
            int actual   = Day01.GetDay01Part01Answer();

            Assert.Equal(expected, actual);
        }
예제 #7
0
 public void Examples1()
 {
     Assert.That(Day01.Solve("1111"), Is.EqualTo(4));
     Assert.That(Day01.Solve("1122"), Is.EqualTo(3));
     Assert.That(Day01.Solve("1234"), Is.EqualTo(0));
     Assert.That(Day01.Solve("91212129"), Is.EqualTo(9));
 }
예제 #8
0
        public void Solve()
        {
            var lines = File.ReadAllLines("C:\\Code\\aoc2018\\aoc2018\\Data\\input01.txt");
            var data  = lines.Select(int.Parse).ToList();

            _output.WriteLine("Solution: " + Day01.FindFirstRepeatedValue(data));
        }
예제 #9
0
        public void Setup()
        {
            SetInput(@"
");

            solver = new Day01(fileSystem, INPUT_FILE);
        }
예제 #10
0
 public void FuelWithFuel_Test()
 {
     Assert.Equal(2, Day01.FuelWithFuel(12));
     Assert.Equal(2, Day01.FuelWithFuel(14));
     Assert.Equal(966, Day01.FuelWithFuel(1969));
     Assert.Equal(50346, Day01.FuelWithFuel(100756));
 }
예제 #11
0
 public void FuelRequired_Test()
 {
     Assert.Equal(2, Day01.FuelRequired(12));
     Assert.Equal(2, Day01.FuelRequired(14));
     Assert.Equal(654, Day01.FuelRequired(1969));
     Assert.Equal(33583, Day01.FuelRequired(100756));
 }
예제 #12
0
        public void Day01()
        {
            var d = new Day01();

            Assert.AreEqual(719796, d.ExpensePairProduct());
            Assert.AreEqual(144554112, d.ExpenseTripleProduct());
        }
예제 #13
0
        public void Part2()
        {
            var sut    = new Day01();
            var result = sut.Solve2();

            Output.WriteLine(result.ToString());
        }
예제 #14
0
        public void Day01()
        {
            var d = new Day01();

            Assert.AreEqual(3474920, d.SimpleFuelTotal());
            Assert.AreEqual(5209504, d.ComplexFuelTotal());
        }
예제 #15
0
        public void Stars()
        {
            var run = new Day01();

            Assert.Equal("1018944", run.Result1());
            Assert.Equal("8446464", run.Result2());
        }
예제 #16
0
 public void Task1()
 {
     Assert.AreEqual(3, Day01.Task1("1122"));
     Assert.AreEqual(4, Day01.Task1("1111"));
     Assert.AreEqual(0, Day01.Task1("1234"));
     Assert.AreEqual(9, Day01.Task1("91212129"));
 }
예제 #17
0
    public void Part2(string[] input, int expected)
    {
        var day    = new Day01();
        var actual = day.Part2(input);

        Assert.Equal(expected, actual);
    }
예제 #18
0
        public void Day01()
        {
            var day = new Day01();

            Assert.Equal(1253, day.FirstPart());
            Assert.Equal(1278, day.SecondPart());
        }
예제 #19
0
        public void GetDay01Part02AnswerTest()
        {
            int expected = 165080960;
            int actual   = Day01.GetDay01Part02Answer();

            Assert.Equal(expected, actual);
        }
예제 #20
0
    public void Day01()
    {
        Day01 p = new Day01();

        Assert.Equal(3422661.ToString(), p.Part1());
        Assert.Equal(5131103.ToString(), p.Part2());
    }
예제 #21
0
        public void GetDay1Part1AnswerTest()
        {
            int expected = 3453056;
            int actual   = Day01.GetDay1Part1Answer();

            Assert.Equal(expected, actual);
        }
예제 #22
0
        public void Part2(int input, int expected)
        {
            var solver = new Day01();
            var result = solver.Solve2(input);

            result.ShouldBe(expected);
        }
예제 #23
0
        public async Task Day01_Part2_Test()
        {
            int sum    = 0;
            var result = await fixture.Client.GetAsync("/2019/day/1/input");

            result.EnsureSuccessStatusCode();
            var inputs = await result.Content.ReadAsStringAsync();

            foreach (var input in inputs.Split("\n"))
            {
                try
                {
                    var moduleResult = Day01.Puzzle01(int.Parse(input.Trim()));
                    while (moduleResult > 0)
                    {
                        sum         += moduleResult;
                        moduleResult = Day01.Puzzle01(moduleResult);
                    }
                }
                catch (Exception)
                {
                }
            }

            Assert.Equal(4946546, sum);
        }
예제 #24
0
        public void FloorTesting(string brackets, int expectedFloor)
        {
            Day01 d01   = new Day01();
            int   floor = d01.WhatFloorShouldSantaGoIn(brackets);

            Assert.That(floor, Is.EqualTo(expectedFloor));
        }
예제 #25
0
        public void Part2()
        {
            var component = 100756;

            var fuel = Day01.GetAllFuelRecursivly(component);

            Assert.AreEqual(50346, fuel);
        }
예제 #26
0
        public void Part1()
        {
            var component = 100756;

            var fuel = Day01.GetFuelForModule(component);

            Assert.AreEqual(33583, fuel);
        }
예제 #27
0
        public void Part2Solution()
        {
            var solver = new Day01();
            var data   = File.ReadAllLines("C:\\Code\\aoc2019\\Data\\input01.txt");
            var result = data.Sum(d => solver.Solve2(int.Parse(d)));

            _testOutputHelper.WriteLine(result.ToString());
        }
예제 #28
0
        public void Part1Solution()
        {
            var solver = new Day01();
            var data   = InputDataHelper.GetLines(1);
            var result = data.Sum(d => solver.Solve(int.Parse(d)));

            _testOutputHelper.WriteLine(result.ToString());
        }
예제 #29
0
        public void TestPart2(string input, int should)
        {
            string[] freqs = input.Split(',');

            Day01 day01 = new Day01();

            Assert.Equal(should, day01.Part2(freqs));
        }
예제 #30
0
 public void Examples2()
 {
     Assert.That(Day01.Solve2("1212"), Is.EqualTo(6));
     Assert.That(Day01.Solve2("1221"), Is.EqualTo(0));
     Assert.That(Day01.Solve2("123425"), Is.EqualTo(4));
     Assert.That(Day01.Solve2("123123"), Is.EqualTo(12));
     Assert.That(Day01.Solve2("12131415"), Is.EqualTo(4));
 }