private void CreateCorrectTestData() { var data = GenerateData(); context = new Mock <EFDbContext>(); var mockSet = new Mock <DbSet <GuessesTheImage> >(); mockSet.As <IQueryable <GuessesTheImage> >().Setup(m => m.Provider).Returns(data.Provider); mockSet.As <IQueryable <GuessesTheImage> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <GuessesTheImage> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <GuessesTheImage> >().Setup(m => m.GetEnumerator()).Returns(() => data.GetEnumerator()); mockSet.Setup(m => m.Find(It.IsAny <object[]>())) .Returns <object[]>((d) => { return(data.FirstOrDefault(x => x.Id == (int)d[0])); }); context.Setup(x => x.Set <GuessesTheImage>()).Returns(mockSet.Object); rep = new GuessesTheImageRepository(context.Object); }
private void CreateCorrectTestData() { var data = GenerateData(); var dataWords = GenerateDataWords(); var _rep = new Mock <IGuessesTheImageRepository>(); _rep.Setup(x => x.Add(It.IsAny <GuessesTheImageToAdd>())) .Returns(true); _rep.Setup(x => x.Delete(It.IsAny <int>())) .Returns <int>(x => x); _rep.Setup(x => x.Edit(It.IsAny <GuessesTheImageToAdd>())) .Returns(true); _rep.Setup(x => x.GetAll()) .Returns(data.Select(x => new GuessesTheImageToReturn { Id = x.Id, Path = x.Path, Word = dataWords.FirstOrDefault(y => x.WordId == y.WordId) })); _rep.Setup(x => x.Get(It.IsAny <int>())) .Returns <int>(y => data.Select(x => new GuessesTheImageToReturn { Id = x.Id, Path = x.Path, Word = dataWords.FirstOrDefault(word => word.WordId == word.WordId) }).FirstOrDefault(x => x.Id == y)); _rep.Setup(x => x.GetAllCategories()).Returns(dataWords.GroupBy(x => x.Category).Select(x => x.Key)); _rep.Setup(x => x.GetByCategory(It.IsAny <string>())) .Returns <string>(str => data .Select(x => new GuessesTheImageToReturn { Id = x.Id, Path = x.Path, Word = dataWords.FirstOrDefault(y => x.WordId == y.WordId) }) .Where(x => x.Word.Category.Equals(str)) ); _rep.Setup(x => x.GetTasks(It.IsAny <string>(), It.IsAny <int[]>())) .Returns <string, int[]>((str, arr) => data .Select(x => new GuessesTheImageToReturn { Id = x.Id, Path = x.Path, Word = dataWords.FirstOrDefault(y => x.WordId == y.WordId) }) .Where(x => x.Word.Category.Equals(str) && x.Id != arr[0]) ); service = new GuessesTheImageService(_rep.Object); rep = _rep.Object; }
public GuessesTheImageService(IGuessesTheImageRepository _rep) { rep = _rep; }