public Invoice(Contract contract, decimal consumption) { Contract = contract; Consumption = consumption; MonthsInInvoiceTerm = 12 / (uint)Contract.InvoiceFrequency; InvoiceTerm = new TermsItem(Contract.InvoiceTerm.Start, MonthsInInvoiceTerm); }
public void MonthTermSpan() { var i = new TermsItem(new DateTime(2019, 1, 1), 12, PeriodUnit.Month); var s = i.TermSpan(2); Assert.AreEqual(s.Start, new DateTime(2019, 3, 1)); Assert.AreEqual(s.End, new DateTime(2019, 3, 31)); }
public void QuarterTermSpan() { var i = new TermsItem(new DateTime(2019, 1, 1), 4, PeriodUnit.Quarter); var s = i.TermSpan(1); Assert.AreEqual(s.Start, new DateTime(2019, 4, 1)); Assert.AreEqual(s.End, new DateTime(2019, 6, 30)); }
public void StandingChargeDescription() { var p = Invoice.StandingCharges(); var t = new TermsItem(Contract.InvoiceTerm.Start, 12 / (uint)Contract.InvoiceFrequency); Assert.IsTrue(p[0].Description.Contains(t.TermSpan(0).Start.ToShortDateString())); Assert.IsTrue(p[0].Description.Contains(t.TermSpan(0).End.ToShortDateString())); Assert.IsTrue(p[1].Description.Contains(t.TermSpan(1).Start.ToShortDateString())); Assert.IsTrue(p[1].Description.Contains(t.TermSpan(1).End.ToShortDateString())); }
public void TermSpanOfLast() { var i = new TermsItem(new DateTime(2018, 1, 15), 4, PeriodUnit.Quarter); var t = new TermSpan() { Number = 3, Start = new DateTime(2018, 10, 15), End = new DateTime(2019, 1, 14) }; Assert.AreEqual(i.TermSpan(new DateTime(2019, 1, 14)), t); }
public void BrokenYear() { var i = new TermsItem(new DateTime(2018, 2, 1), 12, PeriodUnit.Month); Assert.AreEqual(i.Term, PeriodUnit.Month); Assert.AreEqual(i.Amount, 12); Assert.AreEqual(i.Start, new DateTime(2018, 2, 1)); Assert.AreEqual(i.End, new DateTime(2019, 1, 31)); Assert.AreEqual(i.Years, 1); Assert.AreEqual(i.Months, 12); Assert.AreEqual(i.Days, 365); }
public void QuarterTerm() { var i = new TermsItem(new DateTime(2019, 1, 1), 4, PeriodUnit.Quarter); Assert.AreEqual(i.Term, PeriodUnit.Quarter); Assert.AreEqual(i.Amount, 4); Assert.AreEqual(i.Start, new DateTime(2019, 1, 1)); Assert.AreEqual(i.End, new DateTime(2019, 12, 31)); Assert.AreEqual(i.Years, 1); Assert.AreEqual(i.Months, 12); Assert.AreEqual(i.Days, 365); }
public void LeapYear() { var i = new TermsItem(new DateTime(2020, 1, 1), 12, PeriodUnit.Month); Assert.AreEqual(i.Start, new DateTime(2020, 1, 1)); Assert.AreEqual(i.End, new DateTime(2020, 12, 31)); Assert.AreEqual(i.Term, PeriodUnit.Month); Assert.AreEqual(i.Amount, 12); Assert.AreEqual(i.Years, 1); Assert.AreEqual(i.Months, 12); Assert.AreEqual(i.Days, 366); }
public static TermsItem CreateTermsItem(int ID) { TermsItem termsItem = new TermsItem(); termsItem.Id = ID; return termsItem; }
public void AddToTerms(TermsItem termsItem) { base.AddObject("Terms", termsItem); }
public void TermNumberAfterPeriod() { var i = new TermsItem(new DateTime(2018, 2, 1), 12, PeriodUnit.Month); i.TermSpan(new DateTime(2020, 1, 1)); }
public void TermSpanOfDateAfter() { var i = new TermsItem(new DateTime(2018, 2, 1), 12, PeriodUnit.Month); i.TermSpan(new DateTime(2019, 2, 1)); }
public void TermSpanOfDateBefore() { var i = new TermsItem(new DateTime(2018, 2, 1), 12, PeriodUnit.Month); i.TermSpan(new DateTime(2018, 1, 31)); }
public void TermSpanOf12() { var i = new TermsItem(new DateTime(2018, 2, 1), 12, PeriodUnit.Month); i.TermSpan(12); }