public void SaveQuestionsShouldAddOnlyNonExistentQuestions() { QuestionsRepository target = new QuestionsRepository(m_EntitiesMock.Object); List<QuestionInfo> questionInfos = new List<QuestionInfo> { new QuestionInfo{CreationDate = new DateTime(2010, 06, 23), Id = 34, Tags= new List<string>{"tag1", "tag2"}}, new QuestionInfo{CreationDate = new DateTime(2010, 06, 23), Id = 12, Tags= new List<string>{"tag1", "tag2"}} }; var result = new Question(); m_EntitiesMock.Setup(e => e.CreateQuestion()).Returns(result); m_EntitiesMock.Setup(e=>e.Questions).Returns(new MockObjectSet<Question>(new []{ new Question{QuestionId = 12, Site = "site1"} })); target.SaveQuestions("site1", questionInfos); m_EntitiesMock.Verify(e => e.AddQuestion(result), Times.Once()); m_EntitiesMock.Verify(e => e.AddQuestion(It.IsAny<Question>()), Times.Once()); }
public void GetShouldFilterBySite() { QuestionsRepository target = new QuestionsRepository(m_EntitiesMock.Object); m_EntitiesMock.Setup(e=>e.Questions).Returns(new MockObjectSet<Question>(new [] { new Question{Site = "site1", QuestionId = 1, Date = new DateTime(2010, 06,23)}, new Question{Site = "site1", QuestionId = 2, Date = new DateTime(2010, 06,24)}, new Question{Site = "site1", QuestionId = 3, Date = new DateTime(2010, 06,25)}, new Question{Site = "site2", QuestionId = 4, Date = new DateTime(2010, 06,23)}, new Question{Site = "site3", QuestionId = 5, Date = new DateTime(2010, 06,24)}, })); List<QuestionInfo> expected = new List<QuestionInfo> { new QuestionInfo{Id = 1, CreationDate = new DateTime(2010, 06,23)}, new QuestionInfo{Id = 2, CreationDate = new DateTime(2010, 06,24)}, new QuestionInfo{Id = 3, CreationDate = new DateTime(2010, 06,25)} }; var actual = target.Get("site1", new[] { 1, 2, 3 }); Assert.AreEqual(3, actual.Count); }
public void SaveQuestionsShouldCreateAndAddQuestion() { QuestionsRepository target = new QuestionsRepository(m_EntitiesMock.Object); List<QuestionInfo> questionInfos = new List<QuestionInfo> { new QuestionInfo{CreationDate = new DateTime(2010, 06, 23), Id = 34, Tags= new List<string>{"tag1", "tag2"}} }; var result = new Question(); m_EntitiesMock.Setup(e => e.Questions).Returns(new MockObjectSet<Question>(new Question[0])); m_EntitiesMock.Setup(e => e.CreateQuestion()).Returns(result); m_EntitiesMock.Setup(e => e.AddQuestion(result)); m_EntitiesMock.Setup(e => e.SaveChanges()); target.SaveQuestions("site1", questionInfos); m_EntitiesMock.VerifyAll(); }