public void Save_AllScenarios_FuncIsCalledAndCorrectItemsPassed() { //Arrange IEnumerable <ITestObject> addedItems = new List <ITestObject>(); IEnumerable <ITestObject> deletedItems = new List <ITestObject>(); IEnumerable <ITestObject> modifiedItems = new List <ITestObject>(); IEnumerable <ITestObject> arg1 = null; IEnumerable <ITestObject> arg2 = null; IEnumerable <ITestObject> arg3 = null; bool fetchCalled = false; bool fetchAllCalled = false; bool saveCalled = false; Func <int, ITestObject> fetch = x => { fetchCalled = true; return(new Mock <ITestObject>().Object); }; Func <IEnumerable <ITestObject> > fetchAll = () => { fetchAllCalled = true; return(new Mock <IEnumerable <ITestObject> >().Object); }; Action <IEnumerable <ITestObject>, IEnumerable <ITestObject>, IEnumerable <ITestObject> > save = (a, b, c) => { saveCalled = true; arg1 = a; arg2 = b; arg3 = c; }; var mapping = new PicnicCacheMapping <int, ITestObject>(fetch, fetchAll, save); //Act mapping.Save(addedItems, deletedItems, modifiedItems); //Assert Assert.IsTrue(saveCalled); Assert.AreEqual(addedItems, arg1); Assert.AreEqual(deletedItems, arg2); Assert.AreEqual(modifiedItems, arg3); Assert.IsFalse(fetchCalled); Assert.IsFalse(fetchAllCalled); }
public void Constructor_PassNullFetchAll_ThrowsException() { //Arrange var fetch = new Mock <Func <int, ITestObject> >().Object; var save = new Mock <Action <IEnumerable <ITestObject>, IEnumerable <ITestObject>, IEnumerable <ITestObject> > >().Object; //Act var mapping = new PicnicCacheMapping <int, ITestObject>(fetch, null, save); }
public void FetchAll_AllScenarios_FuncIsCalled() { //Arrange bool fetchCalled = false; bool fetchAllCalled = false; bool saveCalled = false; Func <int, ITestObject> fetch = x => { fetchCalled = true; return(new Mock <ITestObject>().Object); }; Func <IEnumerable <ITestObject> > fetchAll = () => { fetchAllCalled = true; return(new Mock <IEnumerable <ITestObject> >().Object); }; Action <IEnumerable <ITestObject>, IEnumerable <ITestObject>, IEnumerable <ITestObject> > save = (a, b, c) => { saveCalled = true; }; var mapping = new PicnicCacheMapping <int, ITestObject>(fetch, fetchAll, save); //Act var result = mapping.FetchAll(); //Assert Assert.IsTrue(fetchAllCalled); Assert.IsFalse(fetchCalled); Assert.IsFalse(saveCalled); }