public void Add_GivenNewItem_ShouldAddToList()
 {
     //---------------Set up test pack-------------------
     var newItem = new ItemDto()
     {
         Id = 4,
         Description = "Description four",
         ItemName = "AnotherItemName"
     };
     var itemsList = new List<ItemDto>();
     var context = Substitute.For<ILendingLibraryContext>();
     SetContextWithDtos(context,itemsList);
     var repo = new ItemRepository(context);
     //---------------Assert Precondition----------------
     //---------------Execute Test ----------------------
     repo.Add(newItem);
     //var result = repo.GetItemList();
     var result = context.Items.Where(x => x.Id == newItem.Id);
     Assert.IsNotNull(result);
 }
 public void Add_GivenNullItem_ShouldNotAddToListAndThrow()
 {
     //---------------Set up test pack-------------------
     var itemList = new List<ItemDto>
     {
         null
     };
     var context = Substitute.For<ILendingLibraryContext>();
     SetContextWithDtos(context, itemList);
     var repo = new ItemRepository(context);
     const string message = "Null item cannot be added";
     //---------------Assert Precondition----------------
     //---------------Execute Test ----------------------
     var result = Assert.Throws<ApplicationException>(() => repo.Add((ItemDto) null));
     //---------------Test Result -----------------------
     Assert.AreEqual(message, result.Message);
 }