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); } }
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); } }
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], ""); }