Esempio n. 1
0
        public void UserStatisticsApi()
        {
            int testStatExpected, testStatActual;

            var getRequest   = new GetUserStatisticsRequest();
            var getStatTask1 = PlayFabClientAPI.GetUserStatisticsAsync(getRequest);

            WaitForResultSuccess(getStatTask1, "UserStatistics should have been retrieved from Api call");
            if (!getStatTask1.Result.Result.UserStatistics.TryGetValue(TEST_STAT_NAME, out testStatExpected))
            {
                testStatExpected = TEST_STAT_BASE;
            }
            testStatExpected = ((testStatExpected + 1) % TEST_STAT_BASE) + TEST_STAT_BASE; // This test is about the expected value changing (incrementing through from TEST_STAT_BASE to TEST_STAT_BASE * 2 - 1)

            var updateRequest = new UpdateUserStatisticsRequest();

            updateRequest.UserStatistics = new Dictionary <string, int>();
            updateRequest.UserStatistics[TEST_STAT_NAME] = testStatExpected;
            var updateTask = PlayFabClientAPI.UpdateUserStatisticsAsync(updateRequest);

            WaitForResultSuccess(updateTask, "UpdateUserStatistics failed");

            getRequest = new GetUserStatisticsRequest();
            var getStatTask2 = PlayFabClientAPI.GetUserStatisticsAsync(getRequest);

            WaitForResultSuccess(getStatTask2, "UserStatistics should have been retrieved from Api call");
            getStatTask2.Result.Result.UserStatistics.TryGetValue(TEST_STAT_NAME, out testStatActual);
            UUnitAssert.IntEquals(testStatExpected, testStatActual);
        }
Esempio n. 2
0
        public void UserDataApi()
        {
            var TEST_KEY = "testCounter";

            UserDataRecord testCounter;
            int            testCounterValueExpected, testCounterValueActual;

            var getRequest   = new GetUserDataRequest();
            var getDataTask1 = PlayFabClientAPI.GetUserDataAsync(getRequest);

            WaitForResultSuccess(getDataTask1, "UserData should have been retrieved from Api call");
            if (!getDataTask1.Result.Result.Data.TryGetValue(TEST_KEY, out testCounter))
            {
                testCounter = new UserDataRecord {
                    Value = "0"
                }
            }
            ;
            int.TryParse(testCounter.Value, out testCounterValueExpected);
            testCounterValueExpected = (testCounterValueExpected + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds

            var updateRequest = new UpdateUserDataRequest {
                Data = new Dictionary <string, string> {
                    { TEST_KEY, testCounterValueExpected.ToString() }
                }
            };
            var updateTask = PlayFabClientAPI.UpdateUserDataAsync(updateRequest);

            WaitForResultSuccess(updateTask, "UpdateUserData call failed"); // The update doesn't return anything interesting except versionID.  It's better to just re-call GetUserData again below to verify the update

            getRequest = new GetUserDataRequest();
            var getDataTask2 = PlayFabClientAPI.GetUserDataAsync(getRequest);

            WaitForResultSuccess(getDataTask2, "UserData should have been retrieved from Api call");
            getDataTask2.Result.Result.Data.TryGetValue(TEST_KEY, out testCounter);
            UUnitAssert.NotNull(testCounter, "The updated UserData was not found in the Api results");
            int.TryParse(testCounter.Value, out testCounterValueActual);
            UUnitAssert.IntEquals(testCounterValueExpected, testCounterValueActual);

            var timeUpdated = testCounter.LastUpdated;
            var testMin     = DateTime.UtcNow - TimeSpan.FromMinutes(5);
            var testMax     = testMin + TimeSpan.FromMinutes(10);

            UUnitAssert.True(testMin <= timeUpdated && timeUpdated <= testMax);
        }
Esempio n. 3
0
        public void PlayerStatisticsApi()
        {
            int testStatExpected = 0, testStatActual = Int32.MinValue;

            var getRequest   = new GetPlayerStatisticsRequest();
            var getStatTask1 = PlayFabClientAPI.GetPlayerStatisticsAsync(getRequest);

            WaitForResultSuccess(getStatTask1, "PlayerStatistics should have been retrieved from Api call");
            foreach (var eachStat in getStatTask1.Result.Result.Statistics)
            {
                if (eachStat.StatisticName == TEST_STAT_NAME)
                {
                    testStatExpected = eachStat.Value;
                }
            }
            testStatExpected = (testStatExpected + 1) % 100; // This test is about the expected value changing (incrementing through from TEST_STAT_BASE to TEST_STAT_BASE * 2 - 1)

            var updateRequest = new UpdatePlayerStatisticsRequest {
                Statistics = new List <StatisticUpdate> {
                    new StatisticUpdate {
                        StatisticName = TEST_STAT_NAME, Value = testStatExpected
                    }
                }
            };
            var updateTask = PlayFabClientAPI.UpdatePlayerStatisticsAsync(updateRequest);

            WaitForResultSuccess(updateTask, "UpdatePlayerStatistics failed");

            getRequest = new GetPlayerStatisticsRequest();
            var getStatTask2 = PlayFabClientAPI.GetPlayerStatisticsAsync(getRequest);

            WaitForResultSuccess(getStatTask2, "PlayerStatistics should have been retrieved from Api call");
            foreach (var eachStat in getStatTask2.Result.Result.Statistics)
            {
                if (eachStat.StatisticName == TEST_STAT_NAME)
                {
                    testStatActual = eachStat.Value;
                }
            }
            UUnitAssert.IntEquals(testStatExpected, testStatActual);
        }
        public void UserDataApi()
        {
            int testCounterValueExpected, testCounterValueActual;

            var getRequest = new GetUserDataRequest();

            PlayFabClientAPI.GetUserData(getRequest, GetUserDataCallback, SharedErrorCallback);
            WaitForApiCalls();

            UUnitAssert.Equals("User Data Received", lastReceivedMessage);
            int.TryParse(testCounterReturn.Value, out testCounterValueExpected);
            testCounterValueExpected = (testCounterValueExpected + 1) % 100; // This test is about the expected value changing - but not testing more complicated issues like bounds

            var updateRequest = new UpdateUserDataRequest();

            updateRequest.Data = new Dictionary <string, string>();
            updateRequest.Data[TEST_DATA_KEY] = testCounterValueExpected.ToString();
            PlayFabClientAPI.UpdateUserData(updateRequest, UpdateUserDataCallback, SharedErrorCallback);
            WaitForApiCalls();

            UUnitAssert.StringEquals("User Data Updated", lastReceivedMessage);

            getRequest = new GetUserDataRequest();
            PlayFabClientAPI.GetUserData(getRequest, GetUserDataCallback, SharedErrorCallback);
            WaitForApiCalls();

            UUnitAssert.StringEquals("User Data Received", lastReceivedMessage);
            int.TryParse(testCounterReturn.Value, out testCounterValueActual);
            UUnitAssert.IntEquals(testCounterValueExpected, testCounterValueActual);

            DateTime timeUpdated = testCounterReturn.LastUpdated;
            DateTime minTest     = DateTime.UtcNow - TimeSpan.FromMinutes(5);
            DateTime maxTest     = DateTime.UtcNow + TimeSpan.FromMinutes(5);

            UUnitAssert.True(minTest <= timeUpdated && timeUpdated <= maxTest);

            // UnityEngine.Debug.Log((DateTime.UtcNow - timeUpdated).TotalSeconds);
            UUnitAssert.True(Math.Abs((DateTime.UtcNow - timeUpdated).TotalMinutes) < 5); // Make sure that this timestamp is recent - This must also account for the difference between local machine time and server time
        }
Esempio n. 5
0
            public void TestObjOptNumField()
            {
                var expectedObjects = new[] { ObjOptNumFieldTest.Max, ObjOptNumFieldTest.Min, ObjOptNumFieldTest.Zero, ObjOptNumFieldTest.Null };

                for (int i = 0; i < expectedObjects.Length; i++)
                {
                    // Convert the object to json and back, and verify that everything is the same
                    var actualJson   = SimpleJson.SerializeObject(expectedObjects[i], Util.ApiSerializerStrategy).Replace(" ", "").Replace("\n", "").Replace("\r", "").Replace("\t", "");
                    var actualObject = SimpleJson.DeserializeObject <ObjOptNumFieldTest>(actualJson, Util.ApiSerializerStrategy);

                    UUnitAssert.SbyteEquals(expectedObjects[i].SbyteValue, actualObject.SbyteValue);
                    UUnitAssert.ByteEquals(expectedObjects[i].ByteValue, actualObject.ByteValue);
                    UUnitAssert.ShortEquals(expectedObjects[i].ShortValue, actualObject.ShortValue);
                    UUnitAssert.UshortEquals(expectedObjects[i].UshortValue, actualObject.UshortValue);
                    UUnitAssert.IntEquals(expectedObjects[i].IntValue, actualObject.IntValue);
                    UUnitAssert.UintEquals(expectedObjects[i].UintValue, actualObject.UintValue);
                    UUnitAssert.LongEquals(expectedObjects[i].LongValue, actualObject.LongValue);
                    UUnitAssert.ULongEquals(expectedObjects[i].UlongValue, actualObject.UlongValue);
                    UUnitAssert.FloatEquals(expectedObjects[i].FloatValue, actualObject.FloatValue, float.MaxValue * 0.000000001f);
                    UUnitAssert.DoubleEquals(expectedObjects[i].DoubleValue, actualObject.DoubleValue, double.MaxValue * 0.000000001f);
                }
            }
Esempio n. 6
0
        public void UserStatisticsApi()
        {
            int testStatExpected, testStatActual;

            var getRequest = new ClientModels.GetUserStatisticsRequest();

            PlayFabClientAPI.GetUserStatistics(getRequest, GetUserStatsCallback, SharedErrorCallback);
            WaitForApiCalls();

            UUnitAssert.StringEquals("User Stats Received", lastReceivedMessage);
            testStatExpected = ((testStatReturn + 1) % TEST_STAT_BASE) + TEST_STAT_BASE; // This test is about the expected value changing (incrementing through from TEST_STAT_BASE to TEST_STAT_BASE * 2 - 1)

            var updateRequest = new ClientModels.UpdateUserStatisticsRequest();

            updateRequest.UserStatistics = new Dictionary <string, int>();
            updateRequest.UserStatistics[TEST_STAT_NAME] = testStatExpected;
            PlayFabClientAPI.UpdateUserStatistics(updateRequest, UpdateUserStatsCallback, SharedErrorCallback);
            WaitForApiCalls();

            // Test update result - no data returned, so error or no error, based on Title settings
            if (!TITLE_CAN_UPDATE_SETTINGS)
            {
                UUnitAssert.StringEquals("error message from PlayFab", lastReceivedMessage);
                return; // The rest of this tests changing settings - Which we verified we cannot do
            }
            else // if (CAN_UPDATE_SETTINGS)
            {
                UUnitAssert.StringEquals("User Stats Updated", lastReceivedMessage);
            }

            getRequest = new ClientModels.GetUserStatisticsRequest();
            PlayFabClientAPI.GetUserStatistics(getRequest, GetUserStatsCallback, SharedErrorCallback);
            WaitForApiCalls();

            UUnitAssert.StringEquals("User Stats Received", lastReceivedMessage);
            testStatActual = testStatReturn;
            UUnitAssert.IntEquals(testStatExpected, testStatActual);
        }
        public void PlayerStatisticsApi()
        {
            int testStatExpected = 0, testStatActual = int.MinValue;

            var getStatTask1 = Client.GetPlayerStatisticsAsync();

            try
            {
                getStatTask1.Wait();
            }
            catch (Exception ex)
            {
                UUnitAssert.True(false, ex.Message);
            }

            UUnitAssert.NotNull(getStatTask1.Result, "PlayerStatistics should have been retrieved from Api call");

            foreach (var eachStat in getStatTask1.Result)
            {
                if (eachStat.StatisticName == TEST_STAT_NAME)
                {
                    testStatExpected = eachStat.Value;
                }
            }
            testStatExpected = (testStatExpected + 1) % 100; // This test is about the expected value changing (incrementing through from TEST_STAT_BASE to TEST_STAT_BASE * 2 - 1)

            var updateTask = Client.UpdatePlayerStatisticsAsync(new List <StatisticUpdate> {
                new StatisticUpdate {
                    StatisticName = TEST_STAT_NAME, Value = testStatExpected
                }
            });

            try
            {
                updateTask.Wait(); // The update doesn't return anything, so can't test anything other than failure
            }
            catch (Exception ex)
            {
                UUnitAssert.Fail(ex.Message);
            }

            var getStatTask2 = Client.GetPlayerStatisticsAsync();

            try
            {
                getStatTask2.Wait();
            }
            catch (Exception ex)
            {
                UUnitAssert.Fail(ex.Message);
            }
            UUnitAssert.NotNull(getStatTask2.Result, "PlayerStatistics should have been retrieved from Api call");

            foreach (var eachStat in getStatTask2.Result)
            {
                if (eachStat.StatisticName == TEST_STAT_NAME)
                {
                    testStatActual = eachStat.Value;
                }
            }

            UUnitAssert.IntEquals(testStatExpected, testStatActual);
        }