public void ShowLeaderboardUIWorksWhenAuthenticatedAndNoDefaultLeaderboard()
        {
            var mockClient = new LeaderboardClient();
            var platform   = new PlayGamesPlatform(mockClient);

            platform.ShowLeaderboardUI();

            Assert.IsTrue(mockClient.UIShown);
            Assert.IsNull(mockClient.ShownId);
        }
        public void ShowLeaderboardUIWithIdIsWorksWhenAuthenticated()
        {
            var mockClient = new LeaderboardClient();
            var platform   = new PlayGamesPlatform(mockClient);

            platform.ShowLeaderboardUI("leaderboard");

            Assert.IsTrue(mockClient.UIShown);
            Assert.AreEqual("leaderboard", mockClient.ShownId);
        }
        public void ReportScoreIsWorksWhenAuthenticated()
        {
            var mockClient = new LeaderboardClient();
            var platform   = new PlayGamesPlatform(mockClient);

            platform.ReportScore(200L, "leaderboard", SentinelCallback);
            Assert.AreEqual("leaderboard", mockClient.SubmittedId);
            Assert.AreEqual(200L, mockClient.SubmittedScore);
            Assert.AreSame(SentinelCallback, mockClient.SubmitCallback);
        }
示例#4
0
        private async Task Initialise()
        {
            string token = await _userService.GetTokenAsync();

            _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

            string baseUrl = App.Constants.ApiBaseUrl;

            _leaderBoardClient = new LeaderboardClient(baseUrl, _httpClient);
        }
        public void ShowLeaderboardUIWithIdIsNoOpWhenUnauthenticated()
        {
            var mockClient = new LeaderboardClient();
            var platform   = new PlayGamesPlatform(mockClient);

            mockClient.Authenticated = false;

            platform.ShowLeaderboardUI("notShown");
            Assert.IsFalse(mockClient.UIShown);
            Assert.IsNull(mockClient.ShownId);
        }
        public void ShowLeaderboardUIWithIdIsWorksWhenMapped()
        {
            var mockClient = new LeaderboardClient();
            var platform   = new PlayGamesPlatform(mockClient);

            platform.AddIdMapping("unmappedLeaderboard", "mappedLeaderboard");

            platform.ShowLeaderboardUI("unmappedLeaderboard");

            Assert.IsTrue(mockClient.UIShown);
            Assert.AreEqual("mappedLeaderboard", mockClient.ShownId);
        }
        public void ShowLeaderboardUIWorksWhenAuthenticatedAndUnmappedDefaultLeaderboard()
        {
            var mockClient = new LeaderboardClient();
            var platform   = new PlayGamesPlatform(mockClient);

            platform.SetDefaultLeaderboardForUI("default");

            platform.ShowLeaderboardUI();

            Assert.IsTrue(mockClient.UIShown);
            Assert.AreEqual("default", mockClient.ShownId);
        }
示例#8
0
        public IEnumerable <LeaderboardResult> GetLeaderboard()
        {
            var leaderboard = MemoryCache.Default.Get("leaderboard");

            if (leaderboard == null)
            {
                leaderboard = LeaderboardClient.Get();
                MemoryCache.Default.Add("leaderboard", leaderboard, DateTime.UtcNow.Add(Settings.CacheDuration));
            }

            return((List <LeaderboardResult>)leaderboard);
        }
        public void ReportScoreIsWorksWhenIdMapped()
        {
            var mockClient = new LeaderboardClient();
            var platform   = new PlayGamesPlatform(mockClient);

            platform.AddIdMapping("unmappedLeaderboard", "mappedLeaderboard");

            platform.ReportScore(300L, "unmappedLeaderboard", SentinelCallback);

            Assert.AreEqual("mappedLeaderboard", mockClient.SubmittedId);
            Assert.AreEqual(300L, mockClient.SubmittedScore);
            Assert.AreSame(SentinelCallback, mockClient.SubmitCallback);
        }
        public void ReportScoreIsNoOpWhenUnauthenticated()
        {
            var mockClient        = new LeaderboardClient();
            var platform          = new PlayGamesPlatform(mockClient);
            var capturingCallback = new CapturingAction <bool>();

            mockClient.Authenticated = false;

            platform.ReportScore(100, "leaderboard", capturingCallback.invoke);
            Assert.IsNull(mockClient.SubmittedId);
            Assert.IsNull(mockClient.SubmittedScore);
            Assert.IsFalse(capturingCallback.Captured);
        }