Example #1
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);
        }
Example #2
0
        //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ł]";
            }
        }
Example #3
0
 public void Initialize()
 {
     _flatTax = new FlatTax()
     {
         Description = "Basic Sales Tax",
         Rate        = 0.1m
     };
 }