public void CalculateRateCommercialNonZeroHoursTest()
        {
            // Arrange
            Commercial client = new Commercial(); // create a new client object
            decimal    returnAmt;                 // holds the return from CaclulateRate()
            decimal    expectedAmt = 105.00m;     // $60 is the base rate a Commercial customer will pay for usage under 1000hrs, plus $45 for 1000 over @ $0.045/hr

            client.Hours = 2000;                  // set the usage hours to 2000

            // Act
            returnAmt = client.CalculateRate();

            // Assert
            Assert.AreEqual(expectedAmt, returnAmt);
        }
        // This test should be redundant since the validation in the input feilds and at the class level make it HIGHLY unlikely
        // a negative value will ever be passed into the calculation
        public void CalculateRateCommercialNegativeHoursTest()
        {
            // Arrange
            Commercial client = new Commercial(); // create a new client object
            decimal    returnAmt;                 // holds the return from CaclulateRate()
            decimal    expectedAmt = 60.00m;      // $6 is the base rate a Residential customer will pay regardless of usage

            client.Hours = -100;                  // set the usage hours to -100, validation should set it to 0

            // Act
            returnAmt = client.CalculateRate();

            // Assert
            Assert.AreEqual(expectedAmt, returnAmt);
        }
        public void CalculateRateCommercialBelowBaseHoursTest()
        {
            // Arrange
            Commercial client = new Commercial(); // create a new client object
            decimal    returnAmt;                 // holds the return from CaclulateRate()
            decimal    expectedAmt = 60.00m;      // $60 is the base rate a Commercial customer will pay for usage under 1000hrs

            client.Hours = 900;                   // set the usage hours to 900

            // Act
            returnAmt = client.CalculateRate();

            // Assert
            Assert.AreEqual(expectedAmt, returnAmt);
        }