public void AdjacentArea() { var adjTo = new Polygon( new[] { Vector3.Origin, new Vector3(4.0, 0.0), new Vector3(4.0, 4.0), new Vector3(0.0, 4.0) }); var polygon = Shaper.AdjacentArea(adjTo, 20.0, Orient.N); Assert.Equal(20.0, polygon.Area); Assert.Contains(new Vector3(0.0, 4.0), polygon.Vertices); Assert.Contains(new Vector3(4.0, 4.0), polygon.Vertices); Assert.Contains(new Vector3(0.0, 9.0), polygon.Vertices); Assert.Contains(new Vector3(4.0, 9.0), polygon.Vertices); polygon = Shaper.AdjacentArea(adjTo, 20.0, Orient.S); Assert.Equal(20.0, polygon.Area); Assert.Contains(new Vector3(0.0, 0.0), polygon.Vertices); Assert.Contains(new Vector3(4.0, 0.0), polygon.Vertices); Assert.Contains(new Vector3(0.0, -5.0), polygon.Vertices); Assert.Contains(new Vector3(4.0, -5.0), polygon.Vertices); polygon = Shaper.AdjacentArea(adjTo, 20.0, Orient.W); Assert.Equal(20.0, polygon.Area); Assert.Contains(new Vector3(0.0, 0.0), polygon.Vertices); Assert.Contains(new Vector3(-5.0, 0.0), polygon.Vertices); Assert.Contains(new Vector3(-5.0, 4.0), polygon.Vertices); Assert.Contains(new Vector3(0.0, 4.0), polygon.Vertices); polygon = Shaper.AdjacentArea(adjTo, 20.0, Orient.E); Assert.Equal(20.0, polygon.Area); Assert.Contains(new Vector3(4.0, 0.0), polygon.Vertices); Assert.Contains(new Vector3(4.0, 4.0), polygon.Vertices); Assert.Contains(new Vector3(9.0, 0.0), polygon.Vertices); Assert.Contains(new Vector3(9.0, 4.0), polygon.Vertices); }