Ejemplo n.º 1
0
        public void GenerateLeaderboard()
        {
            using (var ts = new TransactionScope())
            {
                this.BulkInsertTestData();

                var repository  = new StatisticsRepository(ConnectionString);
                var count       = 5;
                var leaderboard = repository.GenerateLeaderboard(count);

                Assert.AreEqual(3, leaderboard.Count());

                int idBoard = 0;
                foreach (var board in leaderboard)
                {
                    Assert.AreEqual(++idBoard, board.Id);
                    Assert.AreEqual(count, board.Scores.Count());

                    int idScore = 0;
                    foreach (var score in board.Scores)
                    {
                        Assert.AreEqual(++idScore, score.Id);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public void GenerateLeaderboardFocused()
        {
            using (var ts = new TransactionScope())
            {
                this.BulkInsertTestData();

                var repository  = new StatisticsRepository(ConnectionString);
                var count       = 2;
                var userFocus   = "testuser_50";
                var leaderboard = repository.GenerateLeaderboard(userFocus, count);

                Assert.AreEqual(3, leaderboard.Count());

                int idBoard = 0;
                foreach (var board in leaderboard)
                {
                    Assert.AreEqual(++idBoard, board.Id);
                    Assert.AreEqual((Math.Floor(count / 2.0) * 2) + 1, board.Scores.Count());
                }
            }
        }