public void UserPreferenceRepositoryShouldReturnTopThreeDislikes() { const string hottest = "applesMostCommon"; user1.Dislikes.Add(new Dislike {UserId = user1.LoginId, Text = hottest}); const string secondHottest = "orangesSecondMostCommon"; user1.Dislikes.Add(new Dislike {UserId = user1.LoginId, Text = secondHottest}); const string thirdHottest = "plumsThirdMostCommon"; user1.Dislikes.Add(new Dislike {UserId = user1.LoginId, Text = thirdHottest}); user1.Dislikes.Add(new Dislike {UserId = user1.LoginId, Text = "pineapples"}); user1.Dislikes.Add(new Dislike {UserId = user1.LoginId, Text = "bananas"}); user2.Dislikes.Add(new Dislike {UserId = user2.LoginId, Text = hottest}); user2.Dislikes.Add(new Dislike {UserId = user2.LoginId, Text = secondHottest}); user2.Dislikes.Add(new Dislike {UserId = user2.LoginId, Text = thirdHottest}); user3.Dislikes.Add(new Dislike {UserId = user3.LoginId, Text = hottest}); user3.Dislikes.Add(new Dislike {UserId = user3.LoginId, Text = secondHottest}); user4.Dislikes.Add(new Dislike {UserId = user4.LoginId, Text = hottest}); registerUsers(); IList dislikes = new UserPreferenceRepository(session).HottestDislikes(); Assert.NotNull(dislikes); Assert.AreEqual(3, dislikes.Count); Assert.AreEqual(dislikes[0], hottest); Assert.AreEqual(dislikes[1], secondHottest); Assert.AreEqual(dislikes[2], thirdHottest); }
public void WhenTieThenTopThreeCountsOfLikesAreReturned() { user1.Likes.Add(new Like {UserId = user1.LoginId, Text = "rank1"}); user1.Likes.Add(new Like {UserId = user1.LoginId, Text = "anotherRank1"}); user1.Likes.Add(new Like {UserId = user1.LoginId, Text = "rank2"}); user1.Likes.Add(new Like {UserId = user1.LoginId, Text = "rank3"}); user1.Likes.Add(new Like {UserId = user1.LoginId, Text = "rank4"}); user2.Likes.Add(new Like {UserId = user2.LoginId, Text = "rank1"}); user2.Likes.Add(new Like {UserId = user2.LoginId, Text = "anotherRank1"}); user2.Likes.Add(new Like {UserId = user2.LoginId, Text = "rank2"}); user2.Likes.Add(new Like {UserId = user2.LoginId, Text = "rank3"}); user3.Likes.Add(new Like {UserId = user3.LoginId, Text = "rank1"}); user3.Likes.Add(new Like {UserId = user3.LoginId, Text = "anotherRank1"}); user3.Likes.Add(new Like {UserId = user3.LoginId, Text = "rank2"}); user4.Likes.Add(new Like {UserId = user4.LoginId, Text = "rank1"}); user4.Likes.Add(new Like {UserId = user4.LoginId, Text = "anotherRank1"}); registerUsers(); IList likesList = new UserPreferenceRepository(session).HottestLikes(); Assert.NotNull(likesList); Assert.AreEqual(4, likesList.Count); Assert.AreEqual(likesList[2], "rank2"); Assert.AreEqual(likesList[3], "rank3"); }
public void WhenOnlyTwoLikesArePopularThenReturnJustTheTwo() { user1.Likes.Add(new Like {UserId = user1.LoginId, Text = "rank1"}); user1.Likes.Add(new Like {UserId = user1.LoginId, Text = "anotherRank1"}); user2.Likes.Add(new Like {UserId = user2.LoginId, Text = "rank1"}); user2.Likes.Add(new Like {UserId = user2.LoginId, Text = "anotherRank1"}); user3.Likes.Add(new Like {UserId = user3.LoginId, Text = "rank1"}); user3.Likes.Add(new Like {UserId = user3.LoginId, Text = "anotherRank1"}); user4.Likes.Add(new Like {UserId = user4.LoginId, Text = "rank1"}); registerUsers(); IList likesList = new UserPreferenceRepository(session).HottestLikes(); Assert.NotNull(likesList); Assert.AreEqual(2, likesList.Count); }