public void StackExchangeActionRendersMyQuestions()
 {
     var cache = new Cache();
     caches.Setup(x => x.Get()).Returns(cache);
     var returnModel = new Paged<Answer>();
     answers.Setup(x => x.Page(cache, 0, 10)).Returns(returnModel);
     controller = new PortfolioController(caches.Object, answers.Object); 
     
     var stackExchange = controller.StackExchange();
     var model = (Paged<Answer>)stackExchange.Model;
     Assert.Equal(returnModel, model);
 }
        public void CachesAndAnswersCanBeSavedToTheDatabase()
        {
            var cache = new Cache
                              {
                                  Answers = new List<Answer> {sampleAnswer, anotherAnswer}
                              };

            repo.Save(cache);
            repo.Commit();
            var assertCache = assertContext.Caches.Include(x => x.Answers).First(x => x.Id == cache.Id);
            Assert.NotNull(assertCache.Id);
            Assert.Equal(2, assertCache.Answers.Count);
            var first = assertCache.Answers.First(x => x.Id == sampleAnswer.Id);
            var second = assertCache.Answers.First(x => x.Id == anotherAnswer.Id);
            AssertAnswer(sampleAnswer, first);
            AssertAnswer(anotherAnswer, second);
        }
 public void ClearCacheClearsExistingAnswersAndCaches()
 {
     var cache = new Cache
                       {
                           Answers = new List<Answer> {sampleAnswer, anotherAnswer}
                       };
     repo.Save(cache);
     repo.Commit();
     repo.ClearCache();
     Assert.Equal(0, assertContext.Caches.Count());
     Assert.Equal(0, assertContext.Answers.Count());
     var assertCache = assertContext.Caches.Include(x => x.Answers).FirstOrDefault();
     Assert.Null(assertCache);
 }