예제 #1
0
        public static void FriendsScores(Action done)
        {
            const string section = "TestLeaderboards.FriendsScores";

            Console.WriteLine(section);

            var playerids = new ArrayList()
            {
                "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"
            };

            FriendsScoresLoop(playerids, 0, () => {
                var list = new Hashtable {
                    { "table", "friends" + rnd },
                    { "perpage", 3 },
                    { "friendslist", new ArrayList(new [] { "1", "2", "3" }) }
                };

                Leaderboards.List(list, (scores, numscores, r2) => {
                    scores = scores ?? new List <PlayerScore>();
                    AssertTrue(section, "Request succeeded", r2.success);
                    AssertEquals(section, "No errorcode", r2.errorcode, 0);
                    AssertTrue(section, "Received 3 scores", scores.Count == 3);
                    AssertTrue(section, "Received numscores 3", numscores == 3);
                    AssertTrue(section, "Player id #1", scores[0].playerid == "3");
                    AssertTrue(section, "Player id #2", scores[1].playerid == "2");
                    AssertTrue(section, "Player id #3", scores[2].playerid == "1");
                    done();
                });
            });
        }
예제 #2
0
        public static void AllScores(Action done)
        {
            const string section = "TestLeaderboards.AllScores";

            Console.WriteLine(section);

            var options = new Hashtable
            {
                { "table", "scores" + rnd },
                { "mode", "newest" },
                { "perpage", 2 }
            };

            Leaderboards.List(options, (scores, numscores, r) => {
                scores = scores ?? new List <PlayerScore>();
                AssertTrue(section, "Request succeeded", r.success);
                AssertEquals(section, "No errorcode", r.errorcode, 0);
                AssertTrue(section, "Received scores", scores.Count > 0);
                AssertTrue(section, "Received numscores", numscores > 0);

                if (scores.Count > 1)
                {
                    AssertTrue(section, "First score is newer or equal to second", scores[0].date >= scores[1].date);
                }
                else
                {
                    AssertTrue(section, "First score is newer or equal to second forced failure", false);
                }

                done();
            });
        }
예제 #3
0
        public static void HighScores(Action done)
        {
            const string section = "TestLeaderboards.Highscores";

            Console.WriteLine(section);

            var options = new Hashtable
            {
                { "table", "scores" + rnd },
                { "highest", true },
                { "filters", new Hashtable
                  {
                      { "rnd", rnd }
                  } }
            };

            Leaderboards.List(options, (scores, numscores, r) => {
                scores = scores ?? new List <PlayerScore>();

                AssertTrue(section, "Request succeeded", r.success);
                AssertEquals(section, "No errorcode", r.errorcode, 0);
                AssertTrue(section, "Received scores", scores.Count > 0);
                AssertTrue(section, "Received numscores", numscores > 0);

                if (scores.Count > 1)
                {
                    AssertTrue(section, "First score is greater than second", scores[0].points > scores[1].points);
                }
                else
                {
                    AssertTrue(section, "First score is greater than second forced failure", false);
                }

                done();
            });
        }