예제 #1
0
        public void TestAmericanFinAffidavit()
        {
            var options = AmericanDomusOpesOptions.RandomOpesOptions(
                Domus.US.AmericanUtil.RandomAmericanFirstName(Gender.Female),
                Domus.US.AmericanUtil.RandomAmericanLastName());

            var income = AmericanIncome.RandomIncome(options);

            options.SumTotal = income.Total.ToDouble();
            var assets   = AmericanAssets.RandomAssets(options);
            var expenses = AmericanExpenses.RandomExpenses(options);

            var allItems = income.ToData(KindsOfTextCase.Kabab);

            foreach (var asset in assets.ToData(KindsOfTextCase.Kabab))
            {
                allItems.Add(asset.Key, asset.Value);
            }
            foreach (var expense in expenses.ToData(KindsOfTextCase.Kabab))
            {
                allItems.Add(expense.Key, expense.Value);
            }

            foreach (var key in allItems.Keys)
            {
                Console.WriteLine($"{key}, {allItems[key]}");
            }
        }
예제 #2
0
        public void TestRandomExpenses()
        {
            var testSubject = AmericanExpenses.RandomExpenses(new AmericanDomusOpesOptions {
                Inception = new DateTime(DateTime.Today.Year, 1, 1)
            });

            Assert.IsNotNull(testSubject);

            Assert.IsNotNull(testSubject.MyItems);
            Assert.AreNotEqual(0, testSubject.MyItems.Count);
        }
예제 #3
0
        public void TestToData()
        {
            var testSubject = AmericanExpenses.RandomExpenses();
            var testResult  = testSubject.ToData(KindsOfTextCase.Kabab);

            Assert.IsNotNull(testResult);
            Assert.AreNotEqual(0, testResult.Count);
            foreach (var tr in testResult.Keys)
            {
                Console.WriteLine($"{tr}, {testResult[tr]}");
            }
        }
예제 #4
0
        public void TestGetItemNames()
        {
            var testSubject  = new AmericanExpenses();
            var testNames    = testSubject.GetItemNames();
            var allNames     = WealthBaseTests.GetExpectedNamesFromXml("expense");
            var expectations = allNames.Select(n => n.Item2).Distinct();

            foreach (var tn in testNames)
            {
                Assert.IsTrue(expectations.Any(e => string.Equals(e, tn.Name, StringComparison.OrdinalIgnoreCase)));
                Console.WriteLine(tn);
            }
        }
예제 #5
0
        public void TestResolveItems()
        {
            var testOptions = new AmericanDomusOpesOptions {
                SumTotal = 10000.0D
            };
            var testSubject = new AmericanExpenses();

            testSubject.RandomizeAllItems(testOptions);

            Assert.IsNotNull(testSubject.MyItems);
            Assert.AreNotEqual(0, testSubject.MyItems.Count);

            foreach (var item in testSubject.MyItems)
            {
                Console.WriteLine(item);
            }
        }
예제 #6
0
        public void TestGetUtilityExpenseNames2RandomRates()
        {
            var testSubject = new AmericanExpenses();

            var testResult = testSubject.GetUtilityExpenseNames2RandomRates(null);

            Assert.IsNotNull(testResult);
            Assert.AreNotEqual(0, testResult.Count);

            var testResultSum = testResult.Select(kv => kv.Value).Sum();

            Assert.AreEqual(1D, Math.Round(testResultSum));

            foreach (var rate in testResult)
            {
                Console.WriteLine(rate);
            }
        }
예제 #7
0
        public void TestGetTransportationExpenseNames2RandomRates()
        {
            var testSubject = new AmericanExpenses();

            var testResult = testSubject.GetTransportationExpenseNames2RandomRates(new AmericanDomusOpesOptions()
            {
                NumberOfVehicles = 0
            });

            Assert.IsNotNull(testResult);
            Assert.AreNotEqual(0, testResult.Count);

            var testResultSum = testResult.Select(kv => kv.Value).Sum();

            Assert.AreEqual(1D, Math.Round(testResultSum));
            Console.WriteLine("No Car");
            foreach (var rate in testResult)
            {
                Console.WriteLine(rate);
            }

            Assert.IsTrue(testResult.ContainsKey("Public Transportation"));
            Assert.AreEqual(1D, Math.Round(testResult["Public Transportation"]));

            testResult = testSubject.GetTransportationExpenseNames2RandomRates(new AmericanDomusOpesOptions {
                NumberOfVehicles = 1
            });

            Assert.IsNotNull(testResult);
            Assert.AreNotEqual(0, testResult.Count);

            testResultSum = testResult.Select(kv => kv.Value).Sum();
            Assert.AreEqual(1D, Math.Round(testResultSum));

            Assert.IsTrue(testResult.ContainsKey("Public Transportation"));
            Assert.AreEqual(0D, testResult["Public Transportation"]);

            Console.WriteLine("Has Car");
            foreach (var rate in testResult)
            {
                Console.WriteLine(rate);
            }
        }
예제 #8
0
        public void TestGetInsuranceExpenseNames2RandomRates()
        {
            var testSubject = new AmericanExpenses();

            var testResult = testSubject.GetInsuranceExpenseNames2RandomRates(new AmericanDomusOpesOptions {
                IsRenting = false
            });

            Assert.IsNotNull(testResult);
            Assert.AreNotEqual(0, testResult.Count);

            var testResultSum = testResult.Select(kv => kv.Value).Sum();

            Assert.AreEqual(1D, Math.Round(testResultSum));

            Assert.IsTrue(testResult.ContainsKey("Renters"));
            Assert.AreEqual(0D, Math.Round(testResult["Renters"]));

            Console.WriteLine("Owns");
            foreach (var rate in testResult)
            {
                Console.WriteLine(rate);
            }

            testResult = testSubject.GetInsuranceExpenseNames2RandomRates(new AmericanDomusOpesOptions {
                IsRenting = true
            });

            Assert.IsNotNull(testResult);
            Assert.AreNotEqual(0, testResult.Count);

            testResultSum = testResult.Select(kv => kv.Value).Sum();
            Assert.AreEqual(1D, Math.Round(testResultSum));

            Assert.IsTrue(testResult.ContainsKey("Renters"));
            Assert.IsTrue(testResult["Renters"] > 0.0D);

            Console.WriteLine("Rents");
            foreach (var rate in testResult)
            {
                Console.WriteLine(rate);
            }
        }
예제 #9
0
        public void TestCtor()
        {
            var testSubject = new AmericanExpenses();

            Assert.IsNotNull(testSubject.MyItems);
            Assert.AreEqual(0, testSubject.MyItems.Count);

            testSubject.AddItem("Gas", "Utility", 65D.ToPecuniam());
            var testResultSum = testSubject.Total;

            Assert.IsNotNull(testResultSum);
            Assert.AreNotEqual(Pecuniam.Zero, testResultSum);
            Assert.AreEqual(65D.ToPecuniam().GetNeg(), testResultSum);

            testSubject.AddItem("Groceries", "Personal", 600D.ToPecuniam());
            testResultSum = testSubject.Total;
            Assert.IsNotNull(testResultSum);
            Assert.AreNotEqual(Pecuniam.Zero, testResultSum);
            Assert.AreEqual(665D.ToPecuniam().GetNeg(), testResultSum);
        }