public void Given_a_store_with_comments_for_multiple_pages_when_getting_latest_comments_then_only_comments_for_provided_page_language_is_returned() { // Arrange var pageCommentList = new List<PageComment>(); pageCommentList.Add(new PageComment { PageId = 1, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 2, PageLanguage = "en" }); var dataStoreFactory = TestFixtureFactory.CreateStoreFactoryWithStoreContainingItems(pageCommentList); var ddsCommentRepository = new DynamicDataStoreCommentRepository(dataStoreFactory); // Act var latestComments = ddsCommentRepository.GetLatestComments(3, "sv"); // Assert Assert.That(latestComments, Contains.Item(pageCommentList[0])); Assert.That(latestComments, !Contains.Item(pageCommentList[1])); }
public void Given_a_store_with_comments_for_multiple_pages_when_getting_latest_comments_then_the_comments_are_sorted_by_created_date() { // Arrange var pageCommentList = new List<PageComment>(); pageCommentList.Add(new PageComment { PageId = 1, PageLanguage = "sv", Created = DateTime.Parse("2010-01-01")}); pageCommentList.Add(new PageComment { PageId = 2, PageLanguage = "sv", Created = DateTime.Parse("2010-01-02") }); var dataStoreFactory = TestFixtureFactory.CreateStoreFactoryWithStoreContainingItems(pageCommentList); var ddsCommentRepository = new DynamicDataStoreCommentRepository(dataStoreFactory); // Act var latestComments = ddsCommentRepository.GetLatestComments(3, "sv"); // Assert Assert.That(latestComments.First().PageId, Is.EqualTo(2)); Assert.That(latestComments.Last().PageId, Is.EqualTo(1)); }
public void Given_a_store_with_comments_for_multiple_pages_when_getting_latest_comments_then_only_the_specified_count_is_returned() { // Arrange const int count = 2; var pageCommentList = new List<PageComment>(); pageCommentList.Add(new PageComment { PageId = 1, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 2, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 3, PageLanguage = "sv" }); var dataStoreFactory = TestFixtureFactory.CreateStoreFactoryWithStoreContainingItems(pageCommentList); var ddsCommentRepository = new DynamicDataStoreCommentRepository(dataStoreFactory); // Act var latestComments = ddsCommentRepository.GetLatestComments(count, "sv"); // Assert Assert.That(latestComments.Count(), Is.EqualTo(count)); }
public void Given_a_store_with_comments_for_multiple_pages_when_getting_most_commented_page_ids_then_the_pages_with_most_comments_are_returned() { // Arrange const int count = 2; var pageCommentList = new List<PageComment>(); pageCommentList.Add(new PageComment { PageId = 1, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 1, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 1, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 2, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 2, PageLanguage = "sv" }); pageCommentList.Add(new PageComment { PageId = 3, PageLanguage = "sv" }); var dataStoreFactory = TestFixtureFactory.CreateStoreFactoryWithStoreContainingItems(pageCommentList); var ddsCommentRepository = new DynamicDataStoreCommentRepository(dataStoreFactory); // Act var mostCommentedPageIds = ddsCommentRepository.GetMostCommentedPageIds(count, "sv"); // Assert Assert.That(mostCommentedPageIds.First(), Is.EqualTo(1)); Assert.That(mostCommentedPageIds.Last(), Is.EqualTo(2)); Assert.That(mostCommentedPageIds, !Contains.Item(3)); }