Beispiel #1
0
        public void GetTaxSettings_AppSettingsWithImportedTaxes_MappedImportedTaxes()
        {
            //Arrange
            IConfigurationRoot  configurationRoot   = Helper.GetConfigurationRoot(Path.Combine("SettingsFixtures", "appsettingsWithImportedTaxes.json"));
            ConfigurationHelper configurationHelper = new ConfigurationHelper(configurationRoot);

            //Act
            TaxSettings taxSettings = configurationHelper.GetTaxSettings();

            //Assert
            Assert.AreEqual(1, taxSettings.ImportedTaxes.Count);
            Assert.AreEqual(0, taxSettings.FlatTaxes.Count);

            ImportedTax importedTax = taxSettings.ImportedTaxes.Single();

            Assert.AreEqual(0.05m, importedTax.Rate);
            Assert.AreEqual("Import duty", importedTax.Description);

            IList <Tax> taxes = taxSettings.GetAllTaxes();

            Assert.AreEqual(1, taxes.Count);

            Tax tax = taxes.Single();

            Assert.AreEqual("Import duty", tax.Description);
        }
Beispiel #2
0
        public void GetTaxSettings_AppsettingsWithTaxes_MappedTaxes()
        {
            //Arrange
            IConfigurationRoot  configurationRoot   = Helper.GetConfigurationRoot(Path.Combine("SettingsFixtures", "appsettingsWithTaxes.json"));
            ConfigurationHelper configurationHelper = new ConfigurationHelper(configurationRoot);

            //Act
            TaxSettings taxSettings = configurationHelper.GetTaxSettings();

            //Assert
            Assert.AreEqual(1, taxSettings.ImportedTaxes.Count);
            Assert.AreEqual(1, taxSettings.FlatTaxes.Count);

            FlatTax flatTax = taxSettings.FlatTaxes.Single();

            Assert.AreEqual(0.1m, flatTax.Rate);
            Assert.AreEqual("Basic Sales Tax", flatTax.Description);
            Assert.AreEqual(3, flatTax.ExcludedCategories.Count);
            Assert.AreEqual(CategoryType.Books, flatTax.ExcludedCategories.First());
            Assert.AreEqual(CategoryType.Foods, flatTax.ExcludedCategories.Skip(1).First());
            Assert.AreEqual(CategoryType.MedicalProducts, flatTax.ExcludedCategories.Skip(2).First());

            ImportedTax importedTax = taxSettings.ImportedTaxes.Single();

            Assert.AreEqual(0.05m, importedTax.Rate);
            Assert.AreEqual("Import duty", importedTax.Description);

            IList <Tax> taxes = taxSettings.GetAllTaxes();

            Assert.AreEqual(2, taxes.Count);

            Assert.AreEqual("Import duty", taxes.Last().Description);
            Assert.AreEqual("Basic Sales Tax", taxes.First().Description);
        }
Beispiel #3
0
 public void Initialize()
 {
     _importedTax = new ImportedTax()
     {
         Description = "Import duty",
         Rate        = 0.05m
     };
 }
Beispiel #4
0
        static void Main(string[] args)
        {
            NationalTax nt = new NationalTax();
            Book        b  = new Book(nt)
            {
                Price = 100
            };

            ImportedTax it = new ImportedTax();
            Magazine    m  = new Magazine(it)
            {
                Price = 10
            };

            Console.WriteLine($" Book Tax: {b.CalculateTax()} \t Magazine Tax {m.CalculateTax()} ");

            Console.Read();
        }