public void SortAndOrganizeScores_ComparingTwoUserBasedOffOfWinPercentage_ReturnsValid() { var result = 0; var result2 = 0; var list = DataAccess.Instance.GetUsers(); var user1 = new User { Username = "******", Wins = 10, Losses = 0, Draws = 0 }; var user2 = new User { Username = "******", Wins = 5, Losses = 5, Draws = 0 }; var menuLogic = new MenuOptionLogic(); var sut = menuLogic.SortAndOrganizeScores(list); foreach (var item in list) { result = item.WinPercentage; } foreach (var item in sut) { result2 = item.WinPercentage; } Assert.Equal(result2, result); }
public void TopFiveLeaderBoard_AddMoreThanFiveUsersToListToConfirmProperSortingAndDisplay_ReturnsValid() { DataAccess.Instance.EraseAllUserData(); var actualList = DataAccess.Instance.GetUsers(); List <User> controlList = new List <User>(); var database = DataAccess.Instance; var sut = new MenuOptionLogic(); var result1 = 0; var result2 = 0; // creating 6 users with various win rates var user1 = new User { Username = "******", Wins = 10, Losses = 0, Draws = 0 }; var user2 = new User { Username = "******", Wins = 5, Losses = 5, Draws = 0 }; var user3 = new User { Username = "******", Wins = 110, Losses = 20, Draws = 50 }; var user4 = new User { Username = "******", Wins = 57, Losses = 15, Draws = 30 }; var user5 = new User { Username = "******", Wins = 105, Losses = 120, Draws = 210 }; var user6 = new User { Username = "******", Wins = 56, Losses = 51, Draws = 70 }; //Adding users to database in improper order for method to be tested and return top five results database.AddUser(user1); database.AddUser(user2); database.AddUser(user3); database.AddUser(user4); database.AddUser(user5); database.AddUser(user6); foreach (var item in sut.TopFiveLeaderBoard()) { result1 = item.WinPercentage; } //Adding Top 5 to list in proper order and adding to result2 controlList.Add(user1); controlList.Add(user3); controlList.Add(user4); controlList.Add(user2); controlList.Add(user6); foreach (var item in controlList) { result2 = item.WinPercentage; } //test Assert.Equal(result1, result2); }