Esempio n. 1
0
        static void Test2()
        {
            double[] incomes     = { 100, 150, 200, 350, 400 };
            double[] expectedTax = { 10, 15, 25, 55, 70 };
            TaxTable txtb        = new TaxTable("../../tax_table_1.txt");

            WriteLine("{0,10} {1,10} {2,10} {3,15}",
                      "Income", "Expected", "Computed", "Difference");
            for (int i = 0; i < incomes.Length; i++)
            {
                double computedTax = txtb.computeTax(incomes[i]);
                double diff        = computedTax - expectedTax[i];
                WriteLine("{0,10:c} {1,10:c} {2,10:c} {3,15:e}",
                          incomes[i], expectedTax[i], computedTax, diff);
            }
        }
Esempio n. 2
0
        static void Test3()
        {
            double[] incomes     = { 8000, 30000, 80000, 100000, 300000, 417000, 500000 };
            double[] expectedTax = { 800,       4033.75,  15738.75,
                                     20981.75, 82399.25, 121015.25, 153818.85 };
            TaxTable txtb = new TaxTable("../../tax_table_2.txt");

            WriteLine("{0,15} {1,15} {2,15} {3,15}",
                      "Income", "Expected", "Computed", "Difference");

            for (int i = 0; i < incomes.Length; i++)
            {
                double computedTax = txtb.computeTax(incomes[i]);
                double diff        = computedTax - expectedTax[i];
                WriteLine("{0,15:c} {1,15:c} {2,15:c} {3,15:e}",
                          incomes[i], expectedTax[i], computedTax, diff);
            }
        }
Esempio n. 3
0
        static void WriteTables(TaxTable txtb)
        {
            //TaxTable txtb = new TaxTable();
            List <double> breaks   = txtb.Breaks;
            List <double> percents = txtb.Percents;
            List <double> layers   = getLayers(breaks, percents);

            //layers.ForEach((x) => Write(x + ", "));
            //WriteLine();

            WriteLine("{0,15}  {1,8}  {2,15}",
                      "Break", "Rate", "Layer");

            for (int i = 0; i < breaks.Count; i++)
            {
                WriteLine("{0,15:c}  {1,8:p}  {2,15:c}",
                          breaks[i], percents[i], layers[i]);
            }
            WriteLine("{0,15}  {1,8:p}  {2,15}",
                      "", percents[percents.Count - 1], "");
        }