public void CalculateMetrics_Should_Calculate_Any_Development_Site(IDevelopmentSite developmentSite) { var siteCalculatorService = new SiteCalculatorService(); var output = siteCalculatorService.CalculateMetrics(developmentSite); Assert.NotNull(output); Assert.NotNull(output.SiteArea); Assert.Equal(50000, output.SiteArea); Assert.NotNull(output.SitePerimeter); Assert.Equal(2100, output.SitePerimeter); if (developmentSite is SubDivisionSite) { Assert.NotNull(output.NumberOfLots); } else { Assert.NotNull(output.BuildingGfa); Assert.NotNull(output.BuildingFootPrint); } }
public dynamic CalculateMetrics(IDevelopmentSite developmentSite) { return(developmentSite?.Metrics()); }