public void Contains(int testX, int testY, bool expected)
        {
            var vertices = new List <Vector>
            {
                Vector.Zero,
                new Vector(10, 0),
                new Vector(10, 10)
            };
            var region = new PolygonalRegion(vertices);

            Assert.That(region.Contains(new Vector(testX, testY)), Is.EqualTo(expected));
        }
        public void UpperBound()
        {
            var vertices = new List <Vector>
            {
                new Vector(0, 0),
                new Vector(3, 19),
                new Vector(-1, 52),
                new Vector(17, -2)
            };
            var region = new PolygonalRegion(vertices);

            Assert.That(region.UpperBound, Is.EqualTo(new Vector(18, 53)));
        }
        public void Vertices()
        {
            var vertices = new List <Vector>
            {
                new Vector(0, 0),
                new Vector(3, 19),
                new Vector(-1, 52),
                new Vector(17, -2)
            };
            var region = new PolygonalRegion(vertices);

            Assert.That(region.Vertices, Has.Count.EqualTo(4));
            Assert.That(region.Vertices[0], Is.EqualTo(new Vector(0, 0)));
            Assert.That(region.Vertices[1], Is.EqualTo(new Vector(3, 19)));
            Assert.That(region.Vertices[2], Is.EqualTo(new Vector(-1, 52)));
            Assert.That(region.Vertices[3], Is.EqualTo(new Vector(17, -2)));
        }
        public void Shift(int deltaX, int deltaY)
        {
            var vertices = new List <Vector>
            {
                new Vector(0, 0),
                new Vector(3, 19),
                new Vector(-1, 52),
                new Vector(17, -2)
            };
            var region = new PolygonalRegion(vertices);

            var region2 = (PolygonalRegion)region.Shift(new Vector(deltaX, deltaY));

            Assert.That(region2.Vertices, Has.Count.EqualTo(4));
            Assert.That(region2.Vertices[0], Is.EqualTo(new Vector(deltaX, deltaY)));
            Assert.That(region2.Vertices[1], Is.EqualTo(new Vector(3 + deltaX, 19 + deltaY)));
            Assert.That(region2.Vertices[2], Is.EqualTo(new Vector(-1 + deltaX, 52 + deltaY)));
            Assert.That(region2.Vertices[3], Is.EqualTo(new Vector(17 + deltaX, -2 + deltaY)));
        }