public void DeleteItem_Correctly_Deletes_One_Item() { var mockDb = new Mock <IDataStore <Item> >(); var item = new Item(); var vm = new ItemDetailViewModel(mockDb.Object, new Item()); var items = new List <Item>() { item }; mockDb.Setup(x => x.DeleteItem(item)).Callback(() => items.Remove(item)); vm.DeleteItem(); Assert.AreEqual(0, items.Count); }