Esempio n. 1
0
        public void Overlaps__Test3()
        {
            Day03.Claim claim1 = Day03.Claim.FromString("#1 @ 1,3: 4x4");
            Day03.Claim claim2 = Day03.Claim.FromString("#2 @ 3,1: 4x4");

            bool result = Day03.Claim.Overlaps(claim1, claim2);

            Assert.AreEqual(true, result);
        }
        public void CalculateDifference()
        {
            var claim1 = new Day03.Claim("#1 @ 1,3: 4x4");
            var claim2 = new Day03.Claim("#2 @ 3,1: 4x4");
            var sut    = new Day03();
            var result = sut.GetIntersectionPoints(claim1, claim2);

            result.Count().Should().Be(4);
        }
Esempio n. 3
0
        public void Overlaps__Test2()
        {
            Day03.Claim claim1 = Day03.Claim.FromString("#2 @ 3,1: 4x4");
            Day03.Claim claim2 = Day03.Claim.FromString("#3 @ 5,5: 2x2");

            bool result = Day03.Claim.Overlaps(claim1, claim2);

            Assert.AreEqual(false, result);
        }
Esempio n. 4
0
        public void FromString__Test4()
        {
            Day03.Claim claim = Day03.Claim.FromString("#3 @ 5,5: 2x2");

            Assert.AreEqual(3, claim.ID);
            Assert.AreEqual(5, claim.Left);
            Assert.AreEqual(5, claim.Top);
            Assert.AreEqual(2, claim.Width);
            Assert.AreEqual(2, claim.Height);
        }
Esempio n. 5
0
        public void FromString__Test3()
        {
            Day03.Claim claim = Day03.Claim.FromString("#2 @ 3,1: 4x4");

            Assert.AreEqual(2, claim.ID);
            Assert.AreEqual(3, claim.Left);
            Assert.AreEqual(1, claim.Top);
            Assert.AreEqual(4, claim.Width);
            Assert.AreEqual(4, claim.Height);
        }
Esempio n. 6
0
        public void FromString__Test1()
        {
            Day03.Claim claim = Day03.Claim.FromString("#123 @ 3,2: 5x4");

            Assert.AreEqual(123, claim.ID);
            Assert.AreEqual(3, claim.Left);
            Assert.AreEqual(2, claim.Top);
            Assert.AreEqual(5, claim.Width);
            Assert.AreEqual(4, claim.Height);
        }
Esempio n. 7
0
        public void ClaimInitializeTest()
        {
            var claim = new Day03.Claim("#13 @ 2,3:4x5");

            Assert.AreEqual(13, claim.ID);
            Assert.AreEqual(2, claim.x);
            Assert.AreEqual(3, claim.y);
            Assert.AreEqual(4, claim.width);
            Assert.AreEqual(5, claim.height);
        }
        public void InitializeClaim(string input, int x, int y, int width, int height, string id)
        {
            var claim = new Day03.Claim(input);

            claim.Id.Should().Be(id);
            claim.Rectangle.X.Should().Be(x);
            claim.Rectangle.Y.Should().Be(y);
            claim.Rectangle.Height.Should().Be(height);
            claim.Rectangle.Width.Should().Be(width);
        }
        public void GetClaimWithoutIntersections()
        {
            var claim1 = new Day03.Claim("#1 @ 1,3: 4x4");
            var claim2 = new Day03.Claim("#2 @ 3,1: 4x4");
            var claim3 = new Day03.Claim("#3 @ 5,5: 2x2");
            var list   = new List <Day03.Claim> {
                claim1, claim2, claim3
            };
            var sut = new Day03();

            var result = sut.GetClaimsWithoutIntersections(list).First();

            result.Id.Should().Be("#3");
        }
Esempio n. 10
0
        public void CalculateIntersections()
        {
            var claim1 = new Day03.Claim("#1 @ 1,3: 4x4");
            var claim2 = new Day03.Claim("#2 @ 3,1: 4x4");
            var claim3 = new Day03.Claim("#3 @ 3,3: 3x2");
            var list   = new List <Day03.Claim> {
                claim1, claim2, claim3
            };
            var sut = new  Day03();

            var result = sut.CalculateIntersections(list);

            result.Should().Be(6);
        }
Esempio n. 11
0
        public void TestOverlap()
        {
            Day03.Claim claim1 = new Day03.Claim("#1 @ 1,3: 4x4");
            Day03.Claim claim2 = new Day03.Claim("#2 @ 3,1: 4x4");
            Day03.Claim claim3 = new Day03.Claim("#3 @ 5,5: 2x2");

            HashSet <Tuple <int, int> > o1 = claim1.Overlap(claim3);

            Assert.Empty(o1);

            HashSet <Tuple <int, int> > o2 = claim1.Overlap(claim2);

            Assert.Equal(4, o2.Count);

            HashSet <Tuple <int, int> > o3 = claim2.Overlap(claim1);

            Assert.Equal(4, o3.Count);
        }
Esempio n. 12
0
        public void TestChecksum(string input, string should)
        {
            Day03.Claim claim = new Day03.Claim(input);

            Assert.Equal(should, claim.ToString());
        }