public void TestEquals() { var testSubject = new NamedTradeline("test") { Inception = DateTime.Today.AddYears(-1), Terminus = DateTime.Today }; var testCompare = new NamedTradeline("test") { Inception = DateTime.Today.AddYears(-1), Terminus = DateTime.Today }; //same dates and name Assert.IsTrue(testSubject.Equals(testCompare)); testCompare.Terminus = DateTime.Today.AddDays(1); //same name, same start date, diff end date Assert.IsFalse(testSubject.Equals(testCompare)); //same dates, diff name testCompare.Terminus = DateTime.Today.AddDays(1); testCompare.Name = "test2"; Assert.IsFalse(testSubject.Equals(testCompare)); //null date is diff date testCompare.Name = "test"; testCompare.Terminus = null; Assert.IsFalse(testSubject.Equals(testCompare)); }
public override void AddItem(NamedTradeline otherIncome) { if (otherIncome != null) { _otherIncome.Add(otherIncome); } }
public void TestCtor() { var testSubject = new AmericanAssets(); Assert.IsNotNull(testSubject.MyItems); Assert.AreEqual(0, testSubject.MyItems.Count); //var futures = // NamedReceivable.RandomNamedReceivalbleWithHistoryToSum("Futures", "Securities", 9000D.ToPecuniam()); //testSubject.AddItem(futures); testSubject.AddItem("Futures", "Securities", 9000D.ToPecuniam()); var testResultSum = testSubject.Total; Assert.IsNotNull(testResultSum); Assert.AreNotEqual(Pecuniam.Zero, testResultSum); Assert.AreEqual(9000D.ToPecuniam(), testResultSum); var stocks = NamedTradeline.RandomNamedTradelineWithHistoryToSum("Stocks", "Securities", 2000D.ToPecuniam()); testSubject.AddItem(stocks); testResultSum = testSubject.Total.GetWholeNumber(); Assert.AreNotEqual(Pecuniam.Zero, testResultSum); Assert.AreEqual(11000D.ToPecuniam(), testResultSum); }
public override void AddItem(NamedTradeline expense) { if (expense == null) { return; } _expenses.Add(expense); }
public override void AddItem(NamedTradeline d) { if (d == null) { return; } _deductions.Add(d); }
public override void AddItem(NamedTradeline item) { if (item == null) { return; } _assets.Add(item); }
/// <summary> /// While <see cref="GetItemsForRange(AmericanDomusOpesOptions)"/> deals with all the /// items of this <see cref="DivisionName"/> this is concerned with one-item-at-a-time. /// </summary> /// <param name="itemName"></param> /// <param name="grpName"></param> /// <param name="options"></param> /// <param name="rate"></param> /// <returns></returns> protected internal virtual NamedTradeline GetNamedReceivableForItemAndGroup(string itemName, string grpName, AmericanDomusOpesOptions options, double rate) { options = options ?? AmericanDomusOpesOptions.RandomOpesOptions(); var calcValueR = CalcValue((options.SumTotal ?? 0).ToPecuniam(), rate); var p = NamedTradeline.RandomNamedTradelineWithHistoryToSum(itemName, grpName, calcValueR, options.DueFrequency, options.Inception, options.Terminus); return(p); }
public void TestRandomNamedReceivalbleWithHistoryToSum() { var testResult = NamedTradeline.RandomNamedTradelineWithHistoryToSum("first name", "group name", 120000M.ToPecuniam()); var testResultValue = testResult.Value; Console.WriteLine(testResultValue); Assert.AreEqual(120000M.ToPecuniam(), testResultValue); }
public virtual void RemoveItem(NamedTradeline item) { if (item == null) { return; } var matchFromCollection = MyItems.FirstOrDefault(i => i.Equals(item) || ReferenceEquals(i, item)); if (matchFromCollection == null) { return; } MyItems.Remove(matchFromCollection); }
public void TestCopyFrom() { var testSubject = new NamedTradeline("TestCorporation"); testSubject.AddName(KindsOfNames.Group, "Company"); var testSubject2 = new NamedTradeline(testSubject); Assert.AreEqual(testSubject.Name, testSubject2.Name); var groupName = testSubject2.GetName(KindsOfNames.Group); Assert.IsNotNull(groupName); Assert.AreEqual("Company", groupName); }
public void TestRandomNamedReceivableWithVariedHistory() { var testResult = NamedTradeline.RandomNamedTradelineWithVariedHistory("firstName", "groupName", 250M.ToPecuniam(), new TimeSpan(30, 0, 0, 0), DateTime.Today.AddYears(-1)); Assert.IsNotNull(testResult); Assert.AreEqual("firstName", testResult.GetName(KindsOfNames.Legal)); Assert.AreEqual("groupName", testResult.GetName(KindsOfNames.Group)); var testResultAverage = testResult.AveragePerDueFrequency(); Console.WriteLine(testResultAverage); var testResultDiff = System.Math.Abs(250M - testResultAverage.Amount); Assert.IsTrue(testResultDiff < 83M); Console.WriteLine(testResult.Balance.FirstTransaction); Console.WriteLine(testResult.Balance.LastTransaction); }
/// <summary> /// Composes the items for Public Benefits (a.k.a. welfare) whenever /// income is below the federal poverty level /// </summary> /// <param name="options"></param> /// <returns></returns> protected internal virtual NamedTradeline[] GetPublicBenefitIncomeItemsForRange(AmericanDomusOpesOptions options) { options = options ?? AmericanDomusOpesOptions.RandomOpesOptions(); var startDate = options.Inception; var endDate = options.Terminus; var itemsout = new List <NamedTradeline>(); startDate = startDate == DateTime.MinValue ? GetYearNeg(-1) : startDate; var isPoor = IsBelowFedPovertyAt(options); var grossIncome = GetAnnualEmplyGrossIncome(startDate); var netIncome = GetAnnualEmplyNetIncome(startDate); var hudAmt = isPoor ? GetHudMonthlyAmount(grossIncome, netIncome) : Pecuniam.Zero; var snapAmt = isPoor ? GetFoodStampsMonthlyAmount(netIncome) : Pecuniam.Zero; var incomeItems = GetIncomeItemNames().Where(i => i.GetName(KindsOfNames.Group) == IncomeGroupNames.PUBLIC_BENEFITS); foreach (var incomeItem in incomeItems) { NamedTradeline p = null; switch (incomeItem.Name) { case "Supplemental Nutrition Assistance Program": p = NamedTradeline.RandomNamedTradelineWithHistoryToSum(incomeItem.Name, IncomeGroupNames.PUBLIC_BENEFITS, snapAmt, PecuniamExtensions.GetTropicalMonth(), startDate, endDate); break; case "Housing Choice Voucher Program Section 8": p = NamedTradeline.RandomNamedTradelineWithHistoryToSum(incomeItem.Name, IncomeGroupNames.PUBLIC_BENEFITS, hudAmt, PecuniamExtensions.GetTropicalMonth(), startDate, endDate); break; //TODO implement the other welfare programs } if (p != null) { itemsout.Add(p); } } return(itemsout.ToArray()); }
public void TestToData() { var dt = DateTime.Today; var testSubject = new NamedTradeline("Test Name"); testSubject.AddName(KindsOfNames.Group, "Company"); var cusip = new Cusip().Value; testSubject.AddPositiveValue(dt.AddDays(-360), new Security(cusip, 5000)); testSubject.AddPositiveValue(dt.AddDays(-360), new Pecuniam(500000.0M)); testSubject.Inception = dt.AddDays(-365); testSubject.AddPositiveValue(dt.AddDays(-365), new Pecuniam(800000M)); var testResult = testSubject.ToData(KindsOfTextCase.Kabab); var asJson = JsonConvert.SerializeObject(testResult, Formatting.Indented); Console.WriteLine(asJson); }
public virtual void AddItem(string name, string groupName, Pecuniam expectedValue, DateTime?atTime = null, TimeSpan?dueFrequency = null) { var amt = expectedValue ?? Pecuniam.Zero; var dt = atTime.GetValueOrDefault(DateTime.UtcNow); var tss = dueFrequency ?? Constants.TropicalYear; var p = new NamedTradeline(new VocaBase(name, DivisionName)) { DueFrequency = tss }; if (amt.Amount < 0M) { p.AddNegativeValue(dt, amt); } else { p.AddPositiveValue(dt, amt); } AddItem(p); }
public abstract void AddItem(NamedTradeline item);