Наследование: ITaxCalculator
        public void Should_return_0_for_tax()
        {
            // Including all US Territories just in case.  Also including null and an empty string.
            var otherStateCodes = new[]
                                      {
                                          "AL", "AK", "AS", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FM", "FL", "GA",
                                          "GU", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MH", "MD", "MA",
                                          "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND",
                                          "MP", "OK", "OR", "PW", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT",
                                          "VT", "VI", "VA", "WA", "WV", "WI", "WY", "AE", "AA", "AP", "", null
                                      };

            foreach (var stateCode in otherStateCodes)
            {
                var order = OrderBuilder.CreateOrderWithProductsForState(stateCode);

                var taxAmount = new TaxCalculator().CalculateTax(order);

                taxAmount.ShouldEqual(0);
            }
        }
 protected override void Because_of()
 {
     _taxAmount = new TaxCalculator().CalculateTax(_order);
 }