public ICalculateAmountPaintCanAndGallon CalculateAmount()
        {
            var result = new ICalculateAmountPaintCanAndGallon
            {
                paintCans    = PaintCan.CalculateNoWaste().cansRequired,
                paintGallons = PaintGallon.CalculateAmount()
            };

            return(result);
        }
        public ICalculatePriceCanAndGallon CalculatePrice()
        {
            var result = new ICalculatePriceCanAndGallon
            {
                paintCansPrice    = PaintCan.CalculateNoWaste().cansPrice,
                paintGallonsPrice = PaintGallon.CalculatePrice()
            };

            return(result);
        }
        public PaintCanAndGallon(float area) : base(area)
        {
            var areaWithSlack = area * (1 + _slack);

            Area = areaWithSlack;

            PaintCan = new PaintCan(Area);
            var cansNoWaste = PaintCan.CalculateNoWaste();

            PaintGallon = new PaintGallon(cansNoWaste.missingArea);
        }