public void TestResolveItemsWithJudgements() { var testInput = new AmericanEmployment(); var options = new AmericanDomusOpesOptions { Inception = DateTime.Today.AddYears(-1), SumTotal = 75000D }; testInput.RandomizeAllItems(options); var testSubject = new AmericanDeductions(testInput); options.IsPayingChildSupport = true; testSubject.RandomizeAllItems(options); Assert.IsNotNull(testSubject.MyItems); Assert.AreNotEqual(0, testSubject.MyItems.Count); var testResultItem = testSubject.MyItems.FirstOrDefault(x => x.Name == "Child Support"); Assert.IsNotNull(testResultItem); Assert.AreNotEqual(0.ToPecuniam(), testResultItem.Value); Console.WriteLine(testResultItem.Value); }
public void TestDeductionsAllPresent() { var testInput = new AmericanEmployment(); var options = new AmericanDomusOpesOptions { Inception = DateTime.Today.AddYears(-1), SumTotal = 75000D }; testInput.RandomizeAllItems(options); //check input is good Assert.IsNotNull(testInput.MyItems); Assert.AreNotEqual(0, testInput.MyItems.Count); var diff = Math.Abs(testInput.Total.ToDouble() - 75000); Console.WriteLine(diff); Assert.IsTrue(Math.Round(diff) == 0.0D); var testSubject = new AmericanDeductions(testInput); testSubject.RandomizeAllItems(null); var testResults = testSubject.GetAt(DateTime.Today.AddDays(-182)); var allDeductionsItesm = WealthBaseTests.GetExpectedNamesFromXml("deduction"); Assert.IsNotNull(testResults); Assert.IsNotNull(allDeductionsItesm); Assert.AreEqual(allDeductionsItesm.Count, testResults.Length); }
public void TestResolveItems() { var testSubject = new AmericanEmployment(); testSubject.RandomizeAllItems(null); Assert.IsNotNull(testSubject.MyItems); Assert.AreNotEqual(0, testSubject.MyItems.Count); var testResultDeductions = testSubject.Deductions as AmericanDeductions; Assert.IsNotNull(testResultDeductions); Assert.IsNotNull(testResultDeductions.MyItems); Assert.AreNotEqual(0, testResultDeductions.MyItems.Count); var testNetIncome = testSubject.TotalAnnualNetPay; var testGrossPay = testSubject.Total; var testTotalDeductions = testSubject.Deductions.Total; Assert.IsTrue(testGrossPay > testNetIncome); System.Diagnostics.Debug.WriteLine(testGrossPay); System.Diagnostics.Debug.WriteLine(testTotalDeductions); System.Diagnostics.Debug.WriteLine(testNetIncome); }
public void TestDeductionsRatioToIncome() { var testInput = new AmericanEmployment(); var annualIncome = 75000.ToPecuniam(); var options = new AmericanDomusOpesOptions { Inception = DateTime.Today.AddYears(-1), SumTotal = annualIncome.ToDouble() }; testInput.RandomizeAllItems(options); //check input is good Assert.IsNotNull(testInput.MyItems); Assert.AreNotEqual(0, testInput.MyItems.Count); var diff = Math.Abs(testInput.Total.ToDouble() - annualIncome.ToDouble()); Console.WriteLine(diff); Assert.IsTrue(Math.Round(diff) == 0.0D); var testSubject = new AmericanDeductions(testInput); testSubject.RandomizeAllItems(null); Assert.IsNotNull(testSubject.MyItems); Assert.AreNotEqual(0, testSubject.MyItems.Count); var totalDeductions = testSubject.Total; Assert.AreNotEqual(0.0D.ToPecuniam(), totalDeductions); //expect deductions as a negative number Assert.IsTrue(totalDeductions.ToDouble() < 0.0D); Console.WriteLine(totalDeductions); var ratio = Math.Abs(Math.Round(((annualIncome + totalDeductions) / annualIncome).ToDouble(), 2)); Assert.IsTrue(ratio < 1.0); Assert.IsTrue(ratio > 0.5); Console.WriteLine(totalDeductions); }