using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using PersonalFinance; using System.Collections.Generic; namespace PersonalFinanceTest { [TestClass] public class ScheduledItemServiceTest { [TestMethod] public void ScheduledItemService_GetAllScheduledItem() { EntityContextInit contextInit = new EntityContextInit(); EntityContext context = new EntityContext(); List scheduledList = contextInit.GetInitScheduledItemList(contextInit.GetInitPaymentList(contextInit.GetInitUserList())); context.ScheduledItems = MoqContext.GetQueryableMockDbSet(scheduledList.ToArray()); var service = new ScheduledItemService(context); var scheduled = service.GetAllScheduledItems(); Assert.AreEqual(3, scheduled.Count, "Count of all scheduled isn't right!"); } [TestMethod] public void ScheduledItemService_FindScheduledItem() { EntityContextInit contextInit = new EntityContextInit(); EntityContext context = new EntityContext(); List scheduledList = contextInit.GetInitScheduledItemList(contextInit.GetInitPaymentList(contextInit.GetInitUserList())); context.ScheduledItems = MoqContext.GetQueryableMockDbSet(scheduledList.ToArray()); var service = new ScheduledItemService(context); var scheduled = service.GetAllScheduledItems(); var a = scheduled.FindAll(q => q.Frequency.Equals(Frequency.Monthly)); Assert.AreEqual(2, a.Count, "Count of scheduled with frequency equals Monthly isn't right!"); } [TestMethod] public void ScheduledItemService_UpdateScheduledItem() { EntityContextInit contextInit = new EntityContextInit(); EntityContext context = new EntityContext(); List scheduledList = contextInit.GetInitScheduledItemList(contextInit.GetInitPaymentList(contextInit.GetInitUserList())); context.ScheduledItems = MoqContext.GetQueryableMockDbSet(scheduledList.ToArray()); var service = new ScheduledItemService(context); var scheduled = service.GetAllScheduledItems(); scheduled[0].Frequency = Frequency.Quarterly; service.UpdateScheduledItems(scheduled[0]); var a = scheduled.FindAll(q => q.Frequency.Equals(Frequency.Quarterly)); Assert.AreEqual(2, a.Count, "Count of scheduled with frequency equals Quarterly isn't right!"); } [TestMethod] [ExpectedException(typeof(IndexOutOfRangeException), "ScheduledItem with ID was found!")] public void ScheduledItemService_DeĺeteNonexistingScheduledItem() { EntityContextInit contextInit = new EntityContextInit(); EntityContext context = new EntityContext(); List scheduledList = contextInit.GetInitScheduledItemList(contextInit.GetInitPaymentList(contextInit.GetInitUserList())); context.ScheduledItems = MoqContext.GetQueryableMockDbSet(scheduledList.ToArray()); var service = new ScheduledItemService(context); service.DeleteScheduledItem(99); } } }