コード例 #1
0
ファイル: Tax.cs プロジェクト: smahjoub/kata-tax
        public static Tax GenerateInstanceFromSituation(TaxSituation taxSituation)
        {
            Tax instance = null;

            switch (taxSituation)
            {
            case TaxSituation.Single:
                instance = new Tax(new SingleTax(), taxSituation);
                break;

            case TaxSituation.MarriedfilingJointlyorQualifyingWidow:
                instance = new Tax(new MFJOrQWTax(), taxSituation);
                break;

            case TaxSituation.MarriedFilingSeparately:
                instance = new Tax(new MFSTax(), taxSituation);
                break;

            case TaxSituation.HeadofHousehold:
                instance = new Tax(new HHTax(), taxSituation);
                break;
            }

            return(instance);
        }
コード例 #2
0
ファイル: Tax.cs プロジェクト: smahjoub/kata-tax
        public Tax(IRangeInfo rangeInfo, TaxSituation taxSitu)
        {
            ranges = new List <TaxRange>();
            var rangesInfo = rangeInfo.Ranges;

            for (int i = 0; i < rangeInfo.RangesCount; i++)
            {
                ranges.Add(new TaxRange(rangesInfo[i, 0], rangesInfo[i, 1], rangesInfo[i, 2], rangesInfo[i, 3]));
            }

            taxSituation = taxSitu;
        }