internal static IDataReader CreateValidTermsReader(int count, Func <int, int> vocabularyIdFunction, Func <int, int> contentIdFunction) { DataTable table = CreateTermTable(); for (int i = Constants.TERM_ValidTermId; i < Constants.TERM_ValidTermId + count; i++) { string name = (count == 1) ? Constants.TERM_ValidName : ContentTestHelper.GetTermName(i); string description = (count == 1) ? Constants.VOCABULARY_ValidName : ContentTestHelper.GetTermName(i); int weight = Constants.TERM_ValidWeight; int parentId = Constants.TERM_ValidParentTermId; AddTermToTable(table, i, contentIdFunction(i), vocabularyIdFunction(i), name, description, weight, parentId); } return(table.CreateDataReader()); }
public void TermController_GetTermsByContent_Returns_Terms_On_Valid_ContentItemId() { //Arrange var mockDataService = new Mock <IDataService>(); mockDataService.Setup(ds => ds.GetTermsByContent(Constants.TERM_ValidContent1)).Returns(MockHelper.CreateValidTermsReader(Constants.TERM_ValidCountForContent1, v => Constants.TERM_ValidVocabularyId, c => Constants.TERM_ValidContent1)); var termController = new TermController(mockDataService.Object); //Act var terms = termController.GetTermsByContent(Constants.TERM_ValidContent1).ToList(); //Assert Assert.AreEqual(Constants.TERM_ValidCountForContent1, terms.Count); for (int i = 0; i < Constants.TERM_ValidCountForContent1; i++) { Assert.AreEqual(i + Constants.TERM_ValidTermId, terms[i].TermId); Assert.AreEqual(ContentTestHelper.GetTermName(i + Constants.TERM_ValidTermId), terms[i].Name); } }
public void TermController_GetTermsByVocabulary_Returns_Terms_On_Valid_VocabularyId() { //Arrange var mockDataService = new Mock <IDataService>(); mockDataService.Setup(ds => ds.GetTermsByVocabulary(Constants.TERM_ValidVocabulary1)).Returns(MockHelper.CreateValidTermsReader(Constants.TERM_ValidCountForVocabulary1, v => Constants.TERM_ValidVocabulary1, c => Constants.TERM_ValidContent1)); MockComponentProvider.CreateDataProvider().Setup(c => c.GetProviderPath()).Returns(String.Empty); var termController = new TermController(mockDataService.Object); //Act var terms = termController.GetTermsByVocabulary(Constants.TERM_ValidVocabulary1).ToList(); //Assert Assert.AreEqual(Constants.TERM_ValidCountForVocabulary1, terms.Count); for (int i = 0; i < Constants.TERM_ValidCountForVocabulary1; i++) { Assert.AreEqual(i + Constants.TERM_ValidTermId, terms[i].TermId); Assert.AreEqual(ContentTestHelper.GetTermName(i + Constants.TERM_ValidTermId), terms[i].Name); } }