static void Main(string[] args) { manager = new DeliveryCalculatorBusiness(); int weight, height, width, length; Console.WriteLine("Welcome to Delivery Cost Calculator App!"); Console.WriteLine("Please input package specifications."); weight = ReadUserInput("Weight (KG): "); height = ReadUserInput("Height (CM): "); width = ReadUserInput("Width (CM): "); length = ReadUserInput("Length (CM): "); PackageSpecificationEntity entity = new PackageSpecificationEntity() { Weight = weight, Length = length, Width = width, Height = height }; var result = manager.CalculateDelivery(entity); PrintResult(result); Console.ReadLine(); }
public void CalculateDelivery_ValidIntegers_RejectPackage(int weight, int height, int width, int length) { PackageSpecificationEntity entity = new PackageSpecificationEntity() { Weight = weight, Length = length, Width = width, Height = height }; var result = manager.CalculateDelivery(entity); Assert.AreEqual(result.PackageCategory, PackageCategoryEnum.Reject); }
public DeliveryCostInformationEntity CalculateDelivery(PackageSpecificationEntity packageSpecification) { DeliveryCostInformationEntity result = new DeliveryCostInformationEntity(); var packageVolume = PackageVolume(packageSpecification.Length, packageSpecification.Width, packageSpecification.Height); if (packageSpecification.Weight > 25) { result.PackageCategory = PackageCategoryEnum.Reject; result.DeliveryCost = 0; } else if (packageSpecification.Weight > 10) { result.PackageCategory = PackageCategoryEnum.HeavyPackage; result.DeliveryCost = packageSpecification.Weight * 15; } else if (packageVolume < 1500) { result.PackageCategory = PackageCategoryEnum.SmallPackage; result.DeliveryCost = packageVolume * .05; } else if (packageVolume < 2500) { result.PackageCategory = PackageCategoryEnum.MediumPackage; result.DeliveryCost = packageVolume * .04; } else { result.PackageCategory = PackageCategoryEnum.LargePackage; result.DeliveryCost = packageVolume * .03; } result.PackageSpecification = packageSpecification; return(result); }