public void MakeBuildingWithStoreysTest()
        {
            // arrange
            var buildingHeight = 10;
            var storeys        = new List <Storey>();

            storeys.Add(new Storey()
            {
                From = 0, To = 5, Color = "#ff0000"
            });
            storeys.Add(new Storey()
            {
                From = 5, To = 10, Color = "#D3D3D3"
            });

            var bs = new BuildingStyle()
            {
                FloorColor = "#D3D3D3", RoofColor = "#ff0000", WallsColor = "#00ff00"
            };

            bs.Storeys = storeys;

            // act
            var res = TesselateBuilding.MakeBuilding(footprint, 0, buildingHeight, bs);

            // assert
            var footprintTriangles = TesselateBuilding.Tesselate(footprint, height).Count;

            Assert.IsTrue(res.polygons.Count == footprintTriangles * 2 + (footprint.ExteriorRing.Points.Count - 1) * 2 * storeys.Count);
        }
        public void TriangulateBuildingTest()
        {
            var bs = new BuildingStyle()
            {
                FloorColor = "#D3D3D3", RoofColor = "#ff0000", WallsColor = "#00ff00"
            };
            var res = TesselateBuilding.MakeBuilding(footprint, 0, height, bs);
            var footprintTriangles = TesselateBuilding.Tesselate(footprint, height).Count;

            Assert.IsTrue(res.polygons.Count == footprintTriangles * 2 + (footprint.ExteriorRing.Points.Count - 1) * 2);
        }
        public void TriangulatePolygonTest()
        {
            var polygons = TesselateBuilding.Tesselate(footprint, height);

            Assert.IsTrue(polygons.Count == 7);
        }