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); }
//private void CalculateButton_Click(object sender, RoutedEventArgs e) private void Calculate() { string typeOfOperation = PrincipleCombo.Text; if (typeOfOperation == "FinancialSettlementApp.Logic.GeneralRules") { Decimal sumOfTaking = TakeSumOfTaking(1); Decimal sumOfCost = TakeSumOfCost(1); bool discount = (bool)discountCheck.IsChecked; string type = "Normal"; if (discount) { type = "Start relief"; } GeneralRules generalRules = new GeneralRules(); decimal incomeTaxAdvance = generalRules.Calculate(type, sumOfCost, sumOfTaking, monthValue); ScoreBlock.Text = incomeTaxAdvance.ToString(); AmountBox.Text = incomeTaxAdvance.ToString(); DecriptionBox.Text = "Zaliczka na podatek dochodowy"; startAnimation(sumOfTaking, sumOfCost); decimal a = (incomeTaxAdvance / sumOfTaking) * 100m; AnswerText.Text = "Zaliczka stanowi " + (Math.Round(a, 0)) + " %"; } else if (typeOfOperation == "FinancialSettlementApp.Logic.FlatTax") { Decimal sumOfTaking = TakeSumOfTaking(1); Decimal sumOfCost = TakeSumOfCost(1); bool discount = (bool)discountCheck.IsChecked; string type = "Normal"; if (discount) { type = "Start relief"; } FlatTax flatTax = new FlatTax(); decimal incomeTaxAdvance = flatTax.Calculate(type, sumOfCost, sumOfTaking, monthValue); ScoreBlock.Text = incomeTaxAdvance.ToString(); AmountBox.Text = incomeTaxAdvance.ToString(); DecriptionBox.Text = "Zaliczka na podatek dochodowy"; startAnimation(sumOfTaking, sumOfCost); decimal a = (incomeTaxAdvance / sumOfTaking) * 100m; AnswerText.Text = "Zaliczka stanowi " + (Math.Round(a, 0)) + " %"; } else if (typeOfOperation == "FinancialSettlementApp.Logic.MonthlyBudgetPlan") { Decimal sumOfTaking = TakeSumOfTaking(1); Decimal sumOfCost = TakeSumOfCost(2); string type = "Normal"; MonthlyBudgetPlan monthlyBudgetPlan = new MonthlyBudgetPlan(); decimal incomeTaxAdvance = monthlyBudgetPlan.Calculate(type, sumOfCost, sumOfTaking, monthValue); ScoreBlock.Text = incomeTaxAdvance.ToString(); startAnimation(sumOfTaking, sumOfCost); decimal a = (sumOfCost / sumOfTaking) * 100m; AnswerText.Text = "Wydatki stanowią " + (Math.Round(a, 0)) + " %"; HowScoreText.Text = "Oszczędności: [zł]"; } }
public void Initialize() { _flatTax = new FlatTax() { Description = "Basic Sales Tax", Rate = 0.1m }; }