From d2823b81bd266fe62376f3b97dbef0f44b12971f Mon Sep 17 00:00:00 2001 From: Ivan Murzak Date: Wed, 7 Jan 2026 04:05:22 -0800 Subject: [PATCH 1/2] Remove obsolete test files and update solution configuration --- Unity-Package/Assets/root/Tests/Runtime.meta | 8 - ...xtensions.Unity.PlayerPrefsEx.Tests.asmdef | 19 -- ...ions.Unity.PlayerPrefsEx.Tests.asmdef.meta | 7 - .../Tests/Runtime/TestEncryptedStaticAPI.cs | 157 ---------- .../Runtime/TestEncryptedStaticAPI.cs.meta | 11 - .../Runtime/TestEncryptedVariablesAPI.cs | 270 ------------------ .../Runtime/TestEncryptedVariablesAPI.cs.meta | 11 - .../root/Tests/Runtime/TestStaticAPI.cs | 161 ----------- .../root/Tests/Runtime/TestStaticAPI.cs.meta | 11 - .../Runtime/TestStaticAndVariablesAPIs.cs | 118 -------- .../TestStaticAndVariablesAPIs.cs.meta | 11 - .../root/Tests/Runtime/TestVariablesAPI.cs | 240 ---------------- .../Tests/Runtime/TestVariablesAPI.cs.meta | 11 - Unity-Package/Unity-Package.slnx | 1 - 14 files changed, 1036 deletions(-) delete mode 100644 Unity-Package/Assets/root/Tests/Runtime.meta delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef.meta delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs.meta delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs.meta delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs.meta delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs.meta delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs delete mode 100644 Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs.meta diff --git a/Unity-Package/Assets/root/Tests/Runtime.meta b/Unity-Package/Assets/root/Tests/Runtime.meta deleted file mode 100644 index a41ea77..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2806042dd3493384fa581094eb6a1056 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef b/Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef deleted file mode 100644 index 7f0ce6a..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "Extensions.Unity.PlayerPrefsEx.Tests", - "rootNamespace": "Extensions.Unity.PlayerPrefsEx.Tests", - "references": [ - "UnityEngine.TestRunner", - "Extensions.Unity.PlayerPrefsEx" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll" - ], - "autoReferenced": false, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef.meta b/Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef.meta deleted file mode 100644 index 2b9b5b7..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/Extensions.Unity.PlayerPrefsEx.Tests.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 46d86e93f6391cb4884b3501e339c1ef -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs b/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs deleted file mode 100644 index c02e21a..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs +++ /dev/null @@ -1,157 +0,0 @@ -using System; -using UnityEngine; -using NUnit.Framework; -using BigInt = System.Numerics.BigInteger; - -namespace Extensions.Unity.PlayerPrefsEx.Tests.Runtime -{ - public class TestEncryptedStaticAPI - { - const string Key = "PlayerPrefsEx-EncryptedTestKey"; - - readonly Type[] types = new[] - { - typeof(BigInt), - typeof(bool), - typeof(DateTime), - typeof(float), - typeof(int), - typeof(string), - typeof(Vector2), - typeof(Vector2Int), - typeof(Vector3), - typeof(Vector3Int) - }; - - void DeleteKeyAllTypes(string key) - { - foreach (var type in types) - PlayerPrefsEx.DeleteKey(key, type); - } - - [Test] - public void EncryptedDefaultValue() - { - DeleteKeyAllTypes(Key); - - Assert.AreEqual("", - PlayerPrefsEx.GetEncryptedString(Key)); - - Assert.AreEqual("abc", - PlayerPrefsEx.GetEncryptedString(Key, "abc")); - - Assert.AreEqual(1, - PlayerPrefsEx.GetEncryptedInt(Key, 1)); - - Assert.AreEqual(1f, - PlayerPrefsEx.GetEncryptedFloat(Key, 1f)); - - Assert.AreEqual(true, - PlayerPrefsEx.GetEncryptedBool(Key, true)); - - Assert.AreEqual(BigInt.One, - PlayerPrefsEx.GetEncryptedBigInt(Key, BigInt.One)); - - Assert.AreEqual(DateTime.MaxValue - TimeSpan.FromDays(100), - PlayerPrefsEx.GetEncryptedDateTime(Key, DateTime.MaxValue - TimeSpan.FromDays(100))); - - Assert.AreEqual(Vector2.one * 3, - PlayerPrefsEx.GetEncryptedVector2(Key, Vector2.one * 3)); - - Assert.AreEqual(Vector2Int.one * 3, - PlayerPrefsEx.GetEncryptedVector2Int(Key, Vector2Int.one * 3)); - - Assert.AreEqual(Vector3.one * 3, - PlayerPrefsEx.GetEncryptedVector3(Key, Vector3.one * 3)); - - Assert.AreEqual(Vector3Int.one * 3, - PlayerPrefsEx.GetEncryptedVector3Int(Key, Vector3Int.one * 3)); - } - - [Test] - public void EncryptedInputOutputValuesAreEqual() - { - DeleteKeyAllTypes(Key); - - PlayerPrefsEx.SetEncryptedString(Key, "abc"); - Assert.AreEqual("abc", - PlayerPrefsEx.GetEncryptedString(Key)); - - PlayerPrefsEx.SetEncryptedInt(Key, 10); - Assert.AreEqual(10, - PlayerPrefsEx.GetEncryptedInt(Key)); - - PlayerPrefsEx.SetEncryptedFloat(Key, 10f); - Assert.AreEqual(10f, - PlayerPrefsEx.GetEncryptedFloat(Key)); - - PlayerPrefsEx.SetEncryptedBool(Key, true); - Assert.AreEqual(true, - PlayerPrefsEx.GetEncryptedBool(Key)); - - PlayerPrefsEx.SetEncryptedBigInt(Key, BigInt.One * 10); - Assert.AreEqual(BigInt.One * 10, - PlayerPrefsEx.GetEncryptedBigInt(Key)); - - PlayerPrefsEx.SetEncryptedDateTime(Key, DateTime.MaxValue - TimeSpan.FromDays(100)); - Assert.AreEqual(DateTime.MaxValue - TimeSpan.FromDays(100), - PlayerPrefsEx.GetEncryptedDateTime(Key)); - - PlayerPrefsEx.SetEncryptedVector2(Key, Vector2.one * 3); - Assert.AreEqual(Vector2.one * 3, - PlayerPrefsEx.GetEncryptedVector2(Key)); - - PlayerPrefsEx.SetEncryptedVector2Int(Key, Vector2Int.one * 3); - Assert.AreEqual(Vector2Int.one * 3, - PlayerPrefsEx.GetEncryptedVector2Int(Key)); - - PlayerPrefsEx.SetEncryptedVector3(Key, Vector3.one * 3); - Assert.AreEqual(Vector3.one * 3, - PlayerPrefsEx.GetEncryptedVector3(Key)); - - PlayerPrefsEx.SetEncryptedVector3Int(Key, Vector3Int.one * 3); - Assert.AreEqual(Vector3Int.one * 3, - PlayerPrefsEx.GetEncryptedVector3Int(Key)); - } - - [Test] - public void EncryptedValueIsNotPlainText() - { - DeleteKeyAllTypes(Key); - - var testValue = "SensitivePassword123"; - PlayerPrefsEx.SetEncryptedString(Key, testValue); - - // Get the raw stored value - var internalKey = PlayerPrefsEx.GetInternalKey(Key); - var storedValue = UnityEngine.PlayerPrefs.GetString(internalKey); - - // The stored value should not equal the plain text - Assert.AreNotEqual(testValue, storedValue); - - // The decrypted value should equal the original - Assert.AreEqual(testValue, PlayerPrefsEx.GetEncryptedString(Key)); - } - - [Test] - public void EncryptedSameKeyDifferentTypes() - { - DeleteKeyAllTypes(Key); - - var vDate = DateTime.MaxValue - TimeSpan.FromDays(1000); - var vBigInt = BigInt.Parse("545456655456878999000"); - var vVector2 = Vector2.down; - var vVector3 = Vector3.forward; - - PlayerPrefsEx.SetEncryptedBigInt(Key, vBigInt); - PlayerPrefsEx.SetEncryptedDateTime(Key, vDate); - PlayerPrefsEx.SetEncryptedVector2(Key, vVector2); - PlayerPrefsEx.SetEncryptedVector3(Key, vVector3); - - Assert.AreEqual(vBigInt, PlayerPrefsEx.GetEncryptedBigInt(Key, 123)); - Assert.AreEqual(vDate, PlayerPrefsEx.GetEncryptedDateTime(Key)); - Assert.AreEqual(vVector2, PlayerPrefsEx.GetEncryptedVector2(Key)); - Assert.AreEqual(vVector3, PlayerPrefsEx.GetEncryptedVector3(Key)); - } - } -} diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs.meta b/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs.meta deleted file mode 100644 index e579465..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedStaticAPI.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3168996d32a27964a8476fc3c779d222 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs b/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs deleted file mode 100644 index d7bf750..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs +++ /dev/null @@ -1,270 +0,0 @@ -using System; -using UnityEngine; -using NUnit.Framework; -using BigInt = System.Numerics.BigInteger; - -namespace Extensions.Unity.PlayerPrefsEx.Tests.Runtime -{ - public class TestEncryptedVariablesAPI - { - const string Key = "PlayerPrefsEx-EncryptedTestKey"; - - readonly Type[] types = new[] - { - typeof(BigInt), - typeof(bool), - typeof(DateTime), - typeof(float), - typeof(int), - typeof(string), - typeof(Vector2), - typeof(Vector2Int), - typeof(Vector3), - typeof(Vector3Int) - }; - - void DeleteKeyAllTypes(string key) - { - foreach (var type in types) - PlayerPrefsEx.DeleteKey(key, type); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesString() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedString(Key); - var pp2 = new PlayerPrefsEncryptedString(Key); - - pp1.Value = "abc"; - pp2.Value = "123"; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = "QWE"; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesInt() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedInt(Key); - var pp2 = new PlayerPrefsEncryptedInt(Key); - - pp1.Value = 123; - pp2.Value = 9999; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = 100500; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesBool() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedBool(Key); - var pp2 = new PlayerPrefsEncryptedBool(Key); - - pp1.Value = true; - pp2.Value = false; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = true; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesFloat() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedFloat(Key); - var pp2 = new PlayerPrefsEncryptedFloat(Key); - - pp1.Value = 10f; - pp2.Value = 992f; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = -10f; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesBigInt() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedBigInt(Key); - var pp2 = new PlayerPrefsEncryptedBigInt(Key); - - pp1.Value = 10; - pp2.Value = 992; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = -10; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesDateTime() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedDateTime(Key); - var pp2 = new PlayerPrefsEncryptedDateTime(Key); - - pp1.Value = DateTime.MaxValue - TimeSpan.FromDays(20); - pp2.Value = DateTime.MaxValue - TimeSpan.FromDays(200); - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = DateTime.MaxValue - TimeSpan.FromDays(5000); - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesVector2() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedVector2(Key); - var pp2 = new PlayerPrefsEncryptedVector2(Key); - - pp1.Value = Vector2.left; - pp2.Value = Vector2.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector2.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesVector2Int() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedVector2Int(Key); - var pp2 = new PlayerPrefsEncryptedVector2Int(Key); - - pp1.Value = Vector2Int.left; - pp2.Value = Vector2Int.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector2Int.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesVector3() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedVector3(Key); - var pp2 = new PlayerPrefsEncryptedVector3(Key); - - pp1.Value = Vector3.left; - pp2.Value = Vector3.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector3.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedSharedValueBetweenVariablesVector3Int() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsEncryptedVector3Int(Key); - var pp2 = new PlayerPrefsEncryptedVector3Int(Key); - - pp1.Value = Vector3Int.left; - pp2.Value = Vector3Int.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector3Int.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void EncryptedNonSharedValueBetweenSameKeyDifferentTypes() - { - DeleteKeyAllTypes(Key); - - var vBigInt = BigInt.Parse("123123123123123123123123"); - var vBool = true; - var vDateTime = DateTime.MinValue + TimeSpan.FromDays(10000); - var vFloat = 23.2372f; - var vInt = 235; - var vString = "asdfjhk;lqwer"; - var vVector2 = Vector2.one * 123.123f; - var vVector2Int = Vector2Int.one * 783; - var vVector3 = Vector3.one * 3323.123f; - var vVector3Int = Vector3Int.one * 2767; - - var ppBigInt = new PlayerPrefsEncryptedBigInt(Key, vBigInt); - var ppBool = new PlayerPrefsEncryptedBool(Key, vBool); - var ppDateTime = new PlayerPrefsEncryptedDateTime(Key, vDateTime); - var ppFloat = new PlayerPrefsEncryptedFloat(Key, vFloat); - var ppInt = new PlayerPrefsEncryptedInt(Key, vInt); - var ppString = new PlayerPrefsEncryptedString(Key, vString); - var ppVector2 = new PlayerPrefsEncryptedVector2(Key, vVector2); - var ppVector2Int = new PlayerPrefsEncryptedVector2Int(Key, vVector2Int); - var ppVector3 = new PlayerPrefsEncryptedVector3(Key, vVector3); - var ppVector3Int = new PlayerPrefsEncryptedVector3Int(Key, vVector3Int); - - Assert.AreEqual(vBigInt, ppBigInt.Value); - Assert.AreEqual(vBool, ppBool.Value); - Assert.AreEqual(vDateTime, ppDateTime.Value); - Assert.AreEqual(vFloat, ppFloat.Value); - Assert.AreEqual(vInt, ppInt.Value); - Assert.AreEqual(vString, ppString.Value); - Assert.AreEqual(vVector2, ppVector2.Value); - Assert.AreEqual(vVector2Int, ppVector2Int.Value); - Assert.AreEqual(vVector3, ppVector3.Value); - Assert.AreEqual(vVector3Int, ppVector3Int.Value); - } - - [Test] - public void EncryptedVariableValueIsNotPlainText() - { - DeleteKeyAllTypes(Key); - - var testValue = "SensitivePassword123"; - var pp = new PlayerPrefsEncryptedString(Key); - pp.Value = testValue; - - // Get the raw stored value - var storedValue = UnityEngine.PlayerPrefs.GetString(pp.InternalKey); - - // The stored value should not equal the plain text - Assert.AreNotEqual(testValue, storedValue); - - // The decrypted value should equal the original - Assert.AreEqual(testValue, pp.Value); - } - } -} diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs.meta b/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs.meta deleted file mode 100644 index affd38c..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestEncryptedVariablesAPI.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ded26c91ebb2a5d419ba4e2837a09f46 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs b/Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs deleted file mode 100644 index fb11b05..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs +++ /dev/null @@ -1,161 +0,0 @@ -using System; -using UnityEngine; -using NUnit.Framework; -using BigInt = System.Numerics.BigInteger; - -namespace Extensions.Unity.PlayerPrefsEx.Tests.Runtime -{ - public class TestStaticAPI - { - const string Key = "PlayerPrefsEx-TestKey"; - - Type[] types = new[] - { - typeof(BigInt), - typeof(bool), - typeof(DateTime), - typeof(float), - typeof(int), - typeof(string), - typeof(Vector2), - typeof(Vector2Int), - typeof(Vector3), - typeof(Vector3Int) - }; - void DeleteKeyAllTypes(string key) - { - foreach (var type in types) - PlayerPrefsEx.DeleteKey(key, type); - } - - [Test] - public void DefaultValue() - { - DeleteKeyAllTypes(Key); - - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key)); - - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key, null)); - - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key, default)); - - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key, "")); - - Assert.AreEqual("abc", - PlayerPrefsEx.GetString(Key, "abc")); - - Assert.AreEqual(1, - PlayerPrefsEx.GetInt(Key, 1)); - - Assert.AreEqual(1f, - PlayerPrefsEx.GetFloat(Key, 1f)); - - Assert.AreEqual(true, - PlayerPrefsEx.GetBool(Key, true)); - - Assert.AreEqual(BigInt.One, - PlayerPrefsEx.GetBigInt(Key, BigInt.One)); - - Assert.AreEqual(DateTime.MaxValue - TimeSpan.FromDays(100), - PlayerPrefsEx.GetDateTime(Key, DateTime.MaxValue - TimeSpan.FromDays(100))); - - Assert.AreEqual(Vector2.one * 3, - PlayerPrefsEx.GetVector2(Key, Vector2.one * 3)); - - Assert.AreEqual(Vector2Int.one * 3, - PlayerPrefsEx.GetVector2Int(Key, Vector2Int.one * 3)); - - Assert.AreEqual(Vector3.one * 3, - PlayerPrefsEx.GetVector3(Key, Vector3.one * 3)); - - Assert.AreEqual(Vector3Int.one * 3, - PlayerPrefsEx.GetVector3Int(Key, Vector3Int.one * 3)); - } - - [Test] - public void InputOutputValuesAreEqual() - { - DeleteKeyAllTypes(Key); - - PlayerPrefsEx.SetString(Key, ""); - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key)); - - PlayerPrefsEx.SetString(Key, null); - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key)); - - PlayerPrefsEx.SetString(Key, default); - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key)); - - PlayerPrefsEx.SetString(Key, ""); - Assert.AreEqual("", - PlayerPrefsEx.GetString(Key, "")); - - PlayerPrefsEx.SetString(Key, "abc"); - Assert.AreEqual("abc", - PlayerPrefsEx.GetString(Key)); - - PlayerPrefsEx.SetInt(Key, 10); - Assert.AreEqual(10, - PlayerPrefsEx.GetInt(Key)); - - PlayerPrefsEx.SetFloat(Key, 10f); - Assert.AreEqual(10f, - PlayerPrefsEx.GetFloat(Key)); - - PlayerPrefsEx.SetBool(Key, true); - Assert.AreEqual(true, - PlayerPrefsEx.GetBool(Key)); - - PlayerPrefsEx.SetBigInt(Key, BigInt.One * 10); - Assert.AreEqual(BigInt.One * 10, - PlayerPrefsEx.GetBigInt(Key)); - - PlayerPrefsEx.SetDateTime(Key, DateTime.MaxValue - TimeSpan.FromDays(100)); - Assert.AreEqual(DateTime.MaxValue - TimeSpan.FromDays(100), - PlayerPrefsEx.GetDateTime(Key)); - - PlayerPrefsEx.SetVector2(Key, Vector2.one * 3); - Assert.AreEqual(Vector2.one * 3, - PlayerPrefsEx.GetVector2(Key)); - - PlayerPrefsEx.SetVector2Int(Key, Vector2Int.one * 3); - Assert.AreEqual(Vector2Int.one * 3, - PlayerPrefsEx.GetVector2Int(Key)); - - PlayerPrefsEx.SetVector3(Key, Vector3.one * 3); - Assert.AreEqual(Vector3.one * 3, - PlayerPrefsEx.GetVector3(Key)); - - PlayerPrefsEx.SetVector3Int(Key, Vector3Int.one * 3); - Assert.AreEqual(Vector3Int.one * 3, - PlayerPrefsEx.GetVector3Int(Key)); - } - [Test] - public void SameKeyDifferentTypes() - { - DeleteKeyAllTypes(Key); - - var vDate = DateTime.MaxValue - TimeSpan.FromDays(1000); - var vBigInt = BigInt.Parse("545456655456878999000"); - var vVector2 = Vector2.down; - var vVector3 = Vector3.forward; - - PlayerPrefsEx.SetBigInt(Key, vBigInt); - PlayerPrefsEx.SetDateTime(Key, vDate); - PlayerPrefsEx.SetVector2(Key, vVector2); - PlayerPrefsEx.SetVector3(Key, vVector3); - - Assert.AreEqual(vBigInt, PlayerPrefsEx.GetBigInt(Key, 123)); - Assert.AreEqual(vDate, PlayerPrefsEx.GetDateTime(Key)); - Assert.AreEqual(vVector2, PlayerPrefsEx.GetVector2(Key)); - Assert.AreEqual(vVector3, PlayerPrefsEx.GetVector3(Key)); - } - } -} \ No newline at end of file diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs.meta b/Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs.meta deleted file mode 100644 index 45ac916..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAPI.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e31667cc9ee43f14bb52219a241733d0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs b/Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs deleted file mode 100644 index a0ffc13..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System; -using UnityEngine; -using NUnit.Framework; -using BigInt = System.Numerics.BigInteger; - -namespace Extensions.Unity.PlayerPrefsEx.Tests.Runtime -{ - public class TestStaticAndVariablesAPIs - { - const string Key = "PlayerPrefsEx-TestKey"; - - Type[] types = new[] - { - typeof(BigInt), - typeof(bool), - typeof(DateTime), - typeof(float), - typeof(int), - typeof(string), - typeof(Vector2), - typeof(Vector2Int), - typeof(Vector3), - typeof(Vector3Int) - }; - void DeleteKeyAllTypes(string key) - { - foreach (var type in types) - PlayerPrefsEx.DeleteKey(key, type); - } - - void SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(string key, Func staticGetter, Action staticSetter, IPlayerPrefsEx variable, T value1, T value2) - { - Assert.AreEqual(variable.Value, staticGetter(key, default)); - variable.Value = value1; - Assert.AreEqual(variable.Value, staticGetter(key, default)); - staticSetter(Key, value2); - Assert.AreEqual(variable.Value, staticGetter(key, default)); - } - - [Test] - public void SharedValueBetweenVariablesAndStaticAPIs() - { - DeleteKeyAllTypes(Key); - - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetBigInt, PlayerPrefsEx.SetBigInt, new PlayerPrefsBigInt(Key), 123456, 38383838); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetBool, PlayerPrefsEx.SetBool, new PlayerPrefsBool(Key), true, false); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetDateTime, PlayerPrefsEx.SetDateTime, new PlayerPrefsDateTime(Key), DateTime.MaxValue - TimeSpan.FromDays(3), DateTime.MaxValue - TimeSpan.FromDays(3000)); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetFloat, PlayerPrefsEx.SetFloat, new PlayerPrefsFloat(Key), 123456.234f, 3838.002f); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetInt, PlayerPrefsEx.SetInt, new PlayerPrefsInt(Key), 123456, 38383838); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetString, PlayerPrefsEx.SetString, new PlayerPrefsString(Key), "123456", "38383838"); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector2, PlayerPrefsEx.SetVector2, new PlayerPrefsVector2(Key), Vector2.one * 100, Vector2.one * 100023); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector2Int, PlayerPrefsEx.SetVector2Int, new PlayerPrefsVector2Int(Key), Vector2Int.one * 100, Vector2Int.one * 100023); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector3, PlayerPrefsEx.SetVector3, new PlayerPrefsVector3(Key), Vector3.one * 100, Vector3.one * 100023); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector3Int, PlayerPrefsEx.SetVector3Int, new PlayerPrefsVector3Int(Key), Vector3Int.one * 100, Vector3Int.one * 100023); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsBigInt() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetBigInt, PlayerPrefsEx.SetBigInt, new PlayerPrefsBigInt(Key), 123456, 38383838); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsBool() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetBool, PlayerPrefsEx.SetBool, new PlayerPrefsBool(Key), true, false); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsDateTime() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetDateTime, PlayerPrefsEx.SetDateTime, new PlayerPrefsDateTime(Key), DateTime.MaxValue - TimeSpan.FromDays(3), DateTime.MaxValue - TimeSpan.FromDays(3000)); - - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsFloat() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetFloat, PlayerPrefsEx.SetFloat, new PlayerPrefsFloat(Key), 123456.234f, 3838.002f); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsInt() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetInt, PlayerPrefsEx.SetInt, new PlayerPrefsInt(Key), 123456, 38383838); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsString() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetString, PlayerPrefsEx.SetString, new PlayerPrefsString(Key), "123456", "38383838"); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector2() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector2, PlayerPrefsEx.SetVector2, new PlayerPrefsVector2(Key), Vector2.one * 100, Vector2.one * 100023); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector2Int() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector2Int, PlayerPrefsEx.SetVector2Int, new PlayerPrefsVector2Int(Key), Vector2Int.one * 100, Vector2Int.one * 100023); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector3() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector3, PlayerPrefsEx.SetVector3, new PlayerPrefsVector3(Key), Vector3.one * 100, Vector3.one * 100023); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector3Int() - { - DeleteKeyAllTypes(Key); - SharedValueByTheSameTypeAndKeyBetweenInstanceAndStaticAPIs(Key, PlayerPrefsEx.GetVector3Int, PlayerPrefsEx.SetVector3Int, new PlayerPrefsVector3Int(Key), Vector3Int.one * 100, Vector3Int.one * 100023); - } - } -} \ No newline at end of file diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs.meta b/Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs.meta deleted file mode 100644 index 72a654f..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestStaticAndVariablesAPIs.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5ff8dd01a9ca833448806d204e5628e3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs b/Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs deleted file mode 100644 index 8831565..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs +++ /dev/null @@ -1,240 +0,0 @@ -using System; -using UnityEngine; -using NUnit.Framework; -using BigInt = System.Numerics.BigInteger; - -namespace Extensions.Unity.PlayerPrefsEx.Tests.Runtime -{ - public class TestVariablesAPI - { - const string Key = "PlayerPrefsEx-TestKey"; - - Type[] types = new[] - { - typeof(BigInt), - typeof(bool), - typeof(DateTime), - typeof(float), - typeof(int), - typeof(string), - typeof(Vector2), - typeof(Vector2Int), - typeof(Vector3), - typeof(Vector3Int) - }; - void DeleteKeyAllTypes(string key) - { - foreach (var type in types) - PlayerPrefsEx.DeleteKey(key, type); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsString() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsString(Key); - var pp2 = new PlayerPrefsString(Key); - - pp1.Value = "abc"; - pp2.Value = "123"; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = "QWE"; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsInt() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsInt(Key); - var pp2 = new PlayerPrefsInt(Key); - - pp1.Value = 123; - pp2.Value = 9999; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = 100500; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsBool() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsBool(Key); - var pp2 = new PlayerPrefsBool(Key); - - pp1.Value = true; - pp2.Value = false; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = true; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsFloat() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsFloat(Key); - var pp2 = new PlayerPrefsFloat(Key); - - pp1.Value = 10f; - pp2.Value = 992f; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = -10f; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsBigInt() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsBigInt(Key); - var pp2 = new PlayerPrefsBigInt(Key); - - pp1.Value = 10; - pp2.Value = 992; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = -10; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsDateTime() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsDateTime(Key); - var pp2 = new PlayerPrefsDateTime(Key); - - pp1.Value = DateTime.MaxValue - TimeSpan.FromDays(20); - pp2.Value = DateTime.MaxValue - TimeSpan.FromDays(200); - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = DateTime.MaxValue - TimeSpan.FromDays(5000); - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector2() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsVector2(Key); - var pp2 = new PlayerPrefsVector2(Key); - - pp1.Value = Vector2.left; - pp2.Value = Vector2.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector2.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector2Int() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsVector2Int(Key); - var pp2 = new PlayerPrefsVector2Int(Key); - - pp1.Value = Vector2Int.left; - pp2.Value = Vector2Int.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector2Int.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector3() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsVector3(Key); - var pp2 = new PlayerPrefsVector3(Key); - - pp1.Value = Vector3.left; - pp2.Value = Vector3.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector3.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - [Test] - public void SharedValueBetweenVariablesAndStaticAPIsVector3Int() - { - DeleteKeyAllTypes(Key); - - var pp1 = new PlayerPrefsVector3Int(Key); - var pp2 = new PlayerPrefsVector3Int(Key); - - pp1.Value = Vector3Int.left; - pp2.Value = Vector3Int.up; - - Assert.AreEqual(pp1.Value, pp2.Value); - - pp1.Value = Vector3Int.down; - - Assert.AreEqual(pp1.Value, pp2.Value); - } - - [Test] - public void NonSharedValueBetweenSameKeyDifferentTypes() - { - DeleteKeyAllTypes(Key); - - var vBigInt = BigInt.Parse("123123123123123123123123"); - var vBool = true; - var vDateTime = DateTime.MinValue + TimeSpan.FromDays(10000); - var vFloat = 23.2372f; - var vInt = 235; - var vString = "asdfjhk;lqwer"; - var vVector2 = Vector2.one * 123.123f; - var vVector2Int = Vector2Int.one * 783; - var vVector3 = Vector3.one * 3323.123f; - var vVector3Int = Vector3Int.one * 2767; - - var ppBigInt = new PlayerPrefsBigInt(Key, vBigInt); - var ppBool = new PlayerPrefsBool(Key, vBool); - var ppDateTime = new PlayerPrefsDateTime(Key, vDateTime); - var ppFloat = new PlayerPrefsFloat(Key, vFloat); - var ppInt = new PlayerPrefsInt(Key, vInt); - var ppString = new PlayerPrefsString(Key, vString); - var ppVector2 = new PlayerPrefsVector2(Key, vVector2); - var ppVector2Int = new PlayerPrefsVector2Int(Key, vVector2Int); - var ppVector3 = new PlayerPrefsVector3(Key, vVector3); - var ppVector3Int = new PlayerPrefsVector3Int(Key, vVector3Int); - - Assert.AreEqual(vBigInt, ppBigInt.Value); - Assert.AreEqual(vBool, ppBool.Value); - Assert.AreEqual(vDateTime, ppDateTime.Value); - Assert.AreEqual(vFloat, ppFloat.Value); - Assert.AreEqual(vInt, ppInt.Value); - Assert.AreEqual(vString, ppString.Value); - Assert.AreEqual(vVector2, ppVector2.Value); - Assert.AreEqual(vVector2Int, ppVector2Int.Value); - Assert.AreEqual(vVector3, ppVector3.Value); - Assert.AreEqual(vVector3Int, ppVector3Int.Value); - } - } -} \ No newline at end of file diff --git a/Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs.meta b/Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs.meta deleted file mode 100644 index d14b2b8..0000000 --- a/Unity-Package/Assets/root/Tests/Runtime/TestVariablesAPI.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9086bbf17b1e6de4ea96203dd926658a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Unity-Package/Unity-Package.slnx b/Unity-Package/Unity-Package.slnx index a19ba90..e293860 100644 --- a/Unity-Package/Unity-Package.slnx +++ b/Unity-Package/Unity-Package.slnx @@ -1,5 +1,4 @@  - From fde424b953e5aadf370a44f93bdfece6ca189e20 Mon Sep 17 00:00:00 2001 From: Ivan Murzak Date: Wed, 7 Jan 2026 04:05:53 -0800 Subject: [PATCH 2/2] Bump version to 2.1.2 in Installer and package.json --- Installer/Assets/PlayerPrefsEx Installer/Installer.cs | 2 +- Unity-Package/Assets/root/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Installer/Assets/PlayerPrefsEx Installer/Installer.cs b/Installer/Assets/PlayerPrefsEx Installer/Installer.cs index 9cf3e90..0619bb3 100644 --- a/Installer/Assets/PlayerPrefsEx Installer/Installer.cs +++ b/Installer/Assets/PlayerPrefsEx Installer/Installer.cs @@ -16,7 +16,7 @@ namespace Extensions.Unity.PlayerPrefsEx.Installer public static partial class Installer { public const string PackageId = "extensions.unity.playerprefsex"; - public const string Version = "2.1.1"; + public const string Version = "2.1.2"; static Installer() { diff --git a/Unity-Package/Assets/root/package.json b/Unity-Package/Assets/root/package.json index 1448b77..890e18d 100644 --- a/Unity-Package/Assets/root/package.json +++ b/Unity-Package/Assets/root/package.json @@ -5,7 +5,7 @@ "name": "Ivan Murzak", "url": "https://github.com/IvanMurzak" }, - "version": "2.1.1", + "version": "2.1.2", "unity": "2018.3", "description": "Lightweight package with optimized advanced version of PlayerPrefs. Under the hood it uses the same PlayerPrefs system, but creates flexible wrapper for default system.", "keywords": [