Exemplo n.º 1
0
        public void Q1()
        {
            var input = _parseInput(Inputs.Day3);
            var map   = new Day3CollisionMap(input);

            var result = map.CalculateAllCollisions();

            Assert.Equal(118858, result.Count);
        }
Exemplo n.º 2
0
        public void Q2()
        {
            var input = _parseInput(Inputs.Day3);
            var map   = new Day3CollisionMap(input);

            var result = map.GetNonCollidingDay3S();

            Assert.Single(result);
            Assert.Equal(1100, result[0].Id);
        }
Exemplo n.º 3
0
        public void ValidationD()
        {
            var input = new List <Day3>
            {
                Day3.Parse("#1 @ 15,0: 1x400"),
                Day3.Parse("#2 @ 0,15: 400x1"),
            };

            var map = new Day3CollisionMap(input);

            var result = map.CalculateAllCollisions();

            Assert.Contains(new Coord(15, 15), result);
        }
Exemplo n.º 4
0
        public void ValidationB()
        {
            var input = new List <Day3>
            {
                Day3.Parse("#1 @ 0,0: 4x4"),
                Day3.Parse("#2 @ 0,0: 4x4")
            };

            var map = new Day3CollisionMap(input);

            var result = map.CalculateAllCollisions();

            Assert.Equal(Day3.Parse("#2 @ 0,0: 4x4").GetAllCoveredCoords(), result);
        }
Exemplo n.º 5
0
        public void CanReturnCollisionListForTwoInput()
        {
            var input = new List <Day3>
            {
                Day3.Parse("#1 @ 1,3: 4x4"),
                Day3.Parse("#2 @ 3,1: 4x4")
            };

            var map = new Day3CollisionMap(input);

            var result = map.CalculateAllCollisions();

            Assert.Contains(new Coord(3, 3), result);
            Assert.Contains(new Coord(3, 4), result);
            Assert.Contains(new Coord(4, 3), result);
            Assert.Contains(new Coord(4, 4), result);
        }
Exemplo n.º 6
0
        public void ValidationC()
        {
            var input = new List <Day3>
            {
                Day3.Parse("#1 @ 1,3: 4x4"),
                Day3.Parse("#2 @ 5,5: 2x2"),
                Day3.Parse("#3 @ 3,1: 4x4")
            };

            var map = new Day3CollisionMap(input);

            var result = map.CalculateAllCollisions();

            Assert.Contains(new Coord(3, 3), result);
            Assert.Contains(new Coord(3, 4), result);
            Assert.Contains(new Coord(4, 3), result);
            Assert.Contains(new Coord(4, 4), result);
        }