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);
        }