using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using PersonalFinance; using PersonalFinance.Entity; namespace PersonalFinanceTest { [TestClass] public class ScheduledItemTest { [TestMethod] [ExpectedException(typeof(ArgumentNullException), "Payment cannot be null.")] public void ScheduledItem_NullPayment() { // arrange Payment payment = null; Frequency freq = Frequency.Daily; DateTime until = new DateTime(); ScheduledItem item = new ScheduledItem() { Payment = payment, Frequency = freq, Until = until }; // assert //double actual = account.Balance; //Assert.AreEqual(expected, actual, 0.001, "Account not debited correctly"); } [TestMethod] [ExpectedException(typeof(ArgumentNullException), "Until null DateTime cannot be combinate with Frequency.Once.")] public void ScheduledItem_NullDateOnceFrequency() { ScheduledItem item = new ScheduledItem() { Payment = new Payment(new User()), Frequency = Frequency.Once, Until = null }; } [TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException), "Value is defined enum from Frequency!")] public void ScheduledItem_FrequencyIsNotEnum() { ScheduledItem item = new ScheduledItem() { Payment = new Payment(new User()), Frequency = (Frequency)10, Until = null }; bool defined = Frequency.IsDefined(typeof(Frequency), item.Frequency); Assert.IsFalse(defined, "Value is defined enum from Frequency!"); } } }