public void testWithActualPartB()
        {
            var sot    = new DayThree();
            var result = sot.CountValidTrianglesInColumns(DayThree.PUZZLE_INPUT);

            Assert.Equal(1649, result);
        }
        public void Spiral_12_Is_3_Steps_Away()
        {
            Point three = DayThree.SpiralToEuclidean(12);
            int   steps = DayThree.ManhattanDistanceFromOrigin(three);

            Assert.AreEqual(3, steps);
        }
Example #3
0
        protected async Task ShowResult()
        {
            if (ValidateTextbox())
            {
                invalid = false;
                DayThree _challengeSolver = new DayThree();

                await RefreshSlopesMap();

                _slopeConfigurations.ForEach(sc =>
                {
                    sc.EncounteredTrees = _challengeSolver.CalculateSlopes(sc.StartPosition, sc.Move, sc.Jumps, _forestMap);
                });

                if (_slopeConfigurations.Select(s => s.EncounteredTrees).Any(r => r > 1))
                {
                    double result = _slopeConfigurations
                                    .Select(s => s.EncounteredTrees).Aggregate(1.0, (acc, c) => (acc * c));

                    _productResult = Convert.ToInt64(result);
                    _child.Show();
                }
                else
                {
                    invalid = true;
                }
            }
            else
            {
                invalid = true;
            }
        }
        public void Spiral_23_Is_2_Steps_Away()
        {
            Point two   = DayThree.SpiralToEuclidean(23);
            int   steps = DayThree.ManhattanDistanceFromOrigin(two);

            Assert.AreEqual(2, steps);
        }
        public void PartA_Actual()
        {
            var sut    = new DayThree();
            var result = sut.PartA();

            Assert.Equal("115348", result);
        }
        public void Spiral_1_Is_0_Steps_Away()
        {
            Point one   = DayThree.SpiralToEuclidean(1);
            int   steps = DayThree.ManhattanDistanceFromOrigin(one);

            Assert.AreEqual(0, steps);
        }
        public void testIsValidTriangle(int sideOne, int sideTwo, int sideThree, bool expected)
        {
            var sot    = new DayThree();
            var result = sot.IsValidTriangle(sideOne, sideTwo, sideThree);

            Assert.Equal(expected, result);
        }
        public void testPartA()
        {
            var sut    = new DayThree();
            var result = sut.PartA();

            Assert.Equal("475", result);
        }
        public void PartB_Actual()
        {
            var sut    = new DayThree();
            var result = sut.PartB();

            Assert.Equal("188", result);
        }
        public void testCalculateNextCellValue(int puzzleInput, int expected)
        {
            var sut    = new DayThree();
            var result = sut.CalculateNextCellValue(puzzleInput);

            Assert.Equal(expected, result);
        }
Example #11
0
        public void DayThreePartTwoReturnsCorrectly(int input, int expected)
        {
            DayThree.Reset();
            var result = DayThree.PartTwo(input);

            Assert.AreEqual(expected, result);
        }
        public void testPartB()
        {
            var sut    = new DayThree();
            var result = sut.PartB();

            Assert.Equal("279138", result);
        }
Example #13
0
        public void Day3_P1Test()
        {
            var input      = File.ReadAllLines("./Files/Day_3/Day3_Test.input");
            var inputArray = input.Select(x => x.ToCharArray()).ToArray();

            Assert.AreEqual(7, DayThree.Day3_P1(inputArray, 3, 1));
        }
        public void Spiral_1024_Is_31_Steps_Away()
        {
            Point point = DayThree.SpiralToEuclidean(1024);
            int   steps = DayThree.ManhattanDistanceFromOrigin(point);

            Assert.AreEqual(31, steps);
        }
        public void SquareInchesOfFabricWithTwoOrMoreClaims()
        {
            var filePath = @"Three\DayThreeTestInput.txt";
            var sut      = new DayThree();
            var result   = sut.SquareInchesOfFabricWithTwoOrMoreClaims(filePath);

            Assert.Equal(4, result);
        }
        public void GetIdOfUnoverlappingClaim()
        {
            var filePath = @"Three\DayThreeTestInput.txt";
            var sut      = new DayThree();
            var result   = sut.GetIdOfUnoverlappingClaim(filePath);

            Assert.Equal(3, result);
        }
        public void ProductOfMultipleRuns()
        {
            string filePath = @"Three\DayThreeTestInputA.txt";

            var sut    = new DayThree();
            var result = sut.ProductOfMultipleRuns(filePath);

            Assert.Equal(336, result);
        }
        public void CalculateTreesHit()
        {
            string filePath = @"Three\DayThreeTestInputA.txt";
            var    slope    = new Slope(1, 3);

            var sut    = new DayThree();
            var result = sut.CalculateTreesHit(filePath, slope);

            Assert.Equal(7, result);
        }
Example #19
0
        static void Main()
        {
            DayOne.TaskOne();
            DayOne.TaskTwo();

            DayTwo.TaskOne();
            DayTwo.TaskTwo();

            DayThree.TaskOne();
            DayThree.TaskTwo();

            DayFour.TaskOne();
            DayFour.TaskTwo();

            DaySix.TaskOne();
            DaySix.TaskTwo();

            Console.Read();
        }
Example #20
0
        public void PartTwo()
        {
            var dayThree = new DayThree();

            var output = dayThree.PartTwo(InputFile);
        }
Example #21
0
 public int ProblemTwo_ValidInput_ReturnsCorrectResult(
     List <string> pOne, List <string> pTwo)
 => DayThree.ProblemTwo(pOne, pTwo);
Example #22
0
 static void Main(string[] args)
 {
     // DayOne.Solution();
     // DayTwo.Solution();
     DayThree.Solution();
 }
Example #23
0
        public void DayThreePartOneReturnsCorrectly(int input, int expected)
        {
            var result = DayThree.PartOne(input);

            Assert.AreEqual(expected, result);
        }
Example #24
0
        public static void ExecuteDayThree()
        {
            var partOneInput = 325489;

            Console.WriteLine($"Day Three Part One: {DayThree.PartOne(partOneInput)}");
        }
        public void Spiral_To_Euclidean_1_Produces_0_0()
        {
            Point zero = DayThree.SpiralToEuclidean(1);

            Assert.AreEqual(new Point(0, 0), zero);
        }
        public void Spiral_To_Euclidean_12_Produces_2_1()
        {
            Point twoCommaOne = DayThree.SpiralToEuclidean(12);

            Assert.AreEqual(new Point(2, 1), twoCommaOne);
        }
        public void Spiral_To_Euclidean_23_Produces_0_Negative_2()
        {
            Point zeroNegativeTwo = DayThree.SpiralToEuclidean(23);

            Assert.AreEqual(new Point(0, -2), zeroNegativeTwo);
        }