From e63c608241037073fc56b1c1657bd9c9a5eb10a8 Mon Sep 17 00:00:00 2001 From: James Montemagno Date: Thu, 7 Jul 2016 15:20:11 -0700 Subject: [PATCH] Update Test Projects for iOS and Android --- .../Assets/AboutAssets.txt | 0 .../MainActivity.cs | 0 .../Plugin.Settings.NUnitTest.Android.csproj} | 14 +- .../Properties/AndroidManifest.xml | 0 .../Properties/AssemblyInfo.cs | 0 .../Resources/AboutResources.txt | 0 .../Resources/Resource.Designer.cs | 0 .../Resources/drawable/Icon.png | Bin .../Resources/values/Strings.xml | 0 .../TestSample.cs | 0 .../Tests.cs | 183 ++++++++ .../AppDelegate.cs | 0 .../Info.plist | 0 .../Main.cs | 0 .../Plugin.Settings.NUnitTest.iOS.csproj} | 69 +-- .../Properties/AssemblyInfo.cs | 0 ...d.Xam.Settings.NUnitTest.iOSUnified.csproj | 13 +- .../Resources/Default-568h@2x.png | Bin .../Resources/Default.png | Bin .../Resources/Default@2x.png | Bin .../Helpers/TestSettings.cs | 164 +++++++ .../Plugin.Settings.Tests.Portable.csproj} | 8 +- .../Properties/AssemblyInfo.cs | 0 .../Plugin.Settings.Tests.projitems | 14 + .../Plugin.Settings.Tests.shproj | 13 + tests/Plugin.Settings.Tests/Tests.cs | 158 +++++++ .../AppDelegate.cs | 45 -- .../Info.plist | 34 -- .../Main.cs | 20 - .../Properties/AssemblyInfo.cs | 36 -- .../Resources/Default-568h@2x.png | Bin 12651 -> 0 bytes .../Resources/Default.png | Bin 5281 -> 0 bytes .../Resources/Default@2x.png | Bin 11793 -> 0 bytes .../Activity1.cs | 40 -- .../Assets/AboutAssets.txt | 19 - .../Properties/AndroidManifest.xml | 5 - .../Properties/AssemblyInfo.cs | 35 -- ...ractored.Xam.Settings.Tests.Android.csproj | 94 ---- .../Resources/AboutResources.txt | 50 --- .../Resources/Drawable/Icon.png | Bin 4147 -> 0 bytes .../Resources/Layout/Main.axml | 13 - .../Resources/Resource.Designer.cs | 112 ----- .../Resources/Values/Strings.xml | 5 - .../Helpers/TEstSettings.cs | 164 ------- ...Plugins.Settings.sln => SettingsTests.sln} | 414 ++++++++---------- 45 files changed, 757 insertions(+), 965 deletions(-) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/Assets/AboutAssets.txt (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/MainActivity.cs (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android/Refractored.Xam.Settings.NUnitTest.Android.csproj => Plugin.Settings.NUnitTest.Android/Plugin.Settings.NUnitTest.Android.csproj} (88%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/Properties/AndroidManifest.xml (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/Properties/AssemblyInfo.cs (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/Resources/AboutResources.txt (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/Resources/Resource.Designer.cs (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/Resources/drawable/Icon.png (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/Resources/values/Strings.xml (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.Android => Plugin.Settings.NUnitTest.Android}/TestSample.cs (100%) create mode 100644 tests/Plugin.Settings.NUnitTest.Android/Tests.cs rename tests/{Refractored.Xam.Settings.NUnitTest.iOSUnified => Plugin.Settings.NUnitTest.iOS}/AppDelegate.cs (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOSUnified => Plugin.Settings.NUnitTest.iOS}/Info.plist (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOSUnified => Plugin.Settings.NUnitTest.iOS}/Main.cs (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOS/Refractored.Xam.Settings.NUnitTest.iOS.csproj => Plugin.Settings.NUnitTest.iOS/Plugin.Settings.NUnitTest.iOS.csproj} (68%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOSUnified => Plugin.Settings.NUnitTest.iOS}/Properties/AssemblyInfo.cs (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOSUnified => Plugin.Settings.NUnitTest.iOS}/Refractored.Xam.Settings.NUnitTest.iOSUnified.csproj (88%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOS => Plugin.Settings.NUnitTest.iOS}/Resources/Default-568h@2x.png (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOS => Plugin.Settings.NUnitTest.iOS}/Resources/Default.png (100%) rename tests/{Refractored.Xam.Settings.NUnitTest.iOS => Plugin.Settings.NUnitTest.iOS}/Resources/Default@2x.png (100%) create mode 100644 tests/Plugin.Settings.Tests.Portable/Helpers/TestSettings.cs rename tests/{Refractored.Xam.Settings.Tests.Portable/Refractored.Xam.Settings.Tests.Portable.csproj => Plugin.Settings.Tests.Portable/Plugin.Settings.Tests.Portable.csproj} (89%) rename tests/{Refractored.Xam.Settings.Tests.Portable => Plugin.Settings.Tests.Portable}/Properties/AssemblyInfo.cs (100%) create mode 100644 tests/Plugin.Settings.Tests/Plugin.Settings.Tests.projitems create mode 100644 tests/Plugin.Settings.Tests/Plugin.Settings.Tests.shproj create mode 100644 tests/Plugin.Settings.Tests/Tests.cs delete mode 100644 tests/Refractored.Xam.Settings.NUnitTest.iOS/AppDelegate.cs delete mode 100644 tests/Refractored.Xam.Settings.NUnitTest.iOS/Info.plist delete mode 100644 tests/Refractored.Xam.Settings.NUnitTest.iOS/Main.cs delete mode 100644 tests/Refractored.Xam.Settings.NUnitTest.iOS/Properties/AssemblyInfo.cs delete mode 100644 tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Resources/Default-568h@2x.png delete mode 100644 tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Resources/Default.png delete mode 100644 tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Resources/Default@2x.png delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Activity1.cs delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Assets/AboutAssets.txt delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Properties/AndroidManifest.xml delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Properties/AssemblyInfo.cs delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Refractored.Xam.Settings.Tests.Android.csproj delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Resources/AboutResources.txt delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Resources/Drawable/Icon.png delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Resources/Layout/Main.axml delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Resources/Resource.Designer.cs delete mode 100644 tests/Refractored.Xam.Settings.Tests.Android/Resources/Values/Strings.xml delete mode 100644 tests/Refractored.Xam.Settings.Tests.Portable/Helpers/TEstSettings.cs rename tests/{Refractored.XamPlugins.Settings.sln => SettingsTests.sln} (81%) diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Assets/AboutAssets.txt b/tests/Plugin.Settings.NUnitTest.Android/Assets/AboutAssets.txt similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Assets/AboutAssets.txt rename to tests/Plugin.Settings.NUnitTest.Android/Assets/AboutAssets.txt diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/MainActivity.cs b/tests/Plugin.Settings.NUnitTest.Android/MainActivity.cs similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/MainActivity.cs rename to tests/Plugin.Settings.NUnitTest.Android/MainActivity.cs diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Refractored.Xam.Settings.NUnitTest.Android.csproj b/tests/Plugin.Settings.NUnitTest.Android/Plugin.Settings.NUnitTest.Android.csproj similarity index 88% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Refractored.Xam.Settings.NUnitTest.Android.csproj rename to tests/Plugin.Settings.NUnitTest.Android/Plugin.Settings.NUnitTest.Android.csproj index 3265cee..aacff48 100644 --- a/tests/Refractored.Xam.Settings.NUnitTest.Android/Refractored.Xam.Settings.NUnitTest.Android.csproj +++ b/tests/Plugin.Settings.NUnitTest.Android/Plugin.Settings.NUnitTest.Android.csproj @@ -61,9 +61,9 @@ - + @@ -79,17 +79,17 @@ - + {d12d6afa-0696-4177-9c85-ec576277ef8e} - Refractored.Xam.Settings.Abstractions + Plugin.Settings.Abstractions - + {91b25a78-62c8-41aa-8d22-da326a5ea64d} - Refractored.Xam.Settings.Android + Plugin.Settings.Android - + {2961bec8-6e97-4943-af17-491e25309619} - Refractored.Xam.Settings.Tests.Portable + Plugin.Settings.Tests.Portable diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Properties/AndroidManifest.xml b/tests/Plugin.Settings.NUnitTest.Android/Properties/AndroidManifest.xml similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Properties/AndroidManifest.xml rename to tests/Plugin.Settings.NUnitTest.Android/Properties/AndroidManifest.xml diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Properties/AssemblyInfo.cs b/tests/Plugin.Settings.NUnitTest.Android/Properties/AssemblyInfo.cs similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Properties/AssemblyInfo.cs rename to tests/Plugin.Settings.NUnitTest.Android/Properties/AssemblyInfo.cs diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/AboutResources.txt b/tests/Plugin.Settings.NUnitTest.Android/Resources/AboutResources.txt similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/AboutResources.txt rename to tests/Plugin.Settings.NUnitTest.Android/Resources/AboutResources.txt diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/Resource.Designer.cs b/tests/Plugin.Settings.NUnitTest.Android/Resources/Resource.Designer.cs similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/Resource.Designer.cs rename to tests/Plugin.Settings.NUnitTest.Android/Resources/Resource.Designer.cs diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/drawable/Icon.png b/tests/Plugin.Settings.NUnitTest.Android/Resources/drawable/Icon.png similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/drawable/Icon.png rename to tests/Plugin.Settings.NUnitTest.Android/Resources/drawable/Icon.png diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/values/Strings.xml b/tests/Plugin.Settings.NUnitTest.Android/Resources/values/Strings.xml similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/Resources/values/Strings.xml rename to tests/Plugin.Settings.NUnitTest.Android/Resources/values/Strings.xml diff --git a/tests/Refractored.Xam.Settings.NUnitTest.Android/TestSample.cs b/tests/Plugin.Settings.NUnitTest.Android/TestSample.cs similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.Android/TestSample.cs rename to tests/Plugin.Settings.NUnitTest.Android/TestSample.cs diff --git a/tests/Plugin.Settings.NUnitTest.Android/Tests.cs b/tests/Plugin.Settings.NUnitTest.Android/Tests.cs new file mode 100644 index 0000000..f7a6c41 --- /dev/null +++ b/tests/Plugin.Settings.NUnitTest.Android/Tests.cs @@ -0,0 +1,183 @@ +using System; +using NUnit.Framework; +using Plugin.Settings.Tests.Portable.Helpers; + + +namespace Plugin.Settings.NUnitTest +{ + [TestFixture] + public class TestsSample + { + + [SetUp] + public void Setup() { } + + + [TearDown] + public void Tear() { } + + [Test] + public void Int64() + { + Int64 test = 10; + + TestSettings.Int64Setting = test; + Assert.True(TestSettings.Int64Setting == test, "Int64 not saved"); + } + + [Test] + public void Clear() + { + Int64 test = 10; + + TestSettings.Int64Setting = test; + Assert.True(TestSettings.Int64Setting == test, "Int64 not saved"); + + TestSettings.AppSettings.Clear(); + + Assert.IsFalse(TestSettings.AppSettings.Contains("int64_setting"), "Setting was not removed"); + } + + [Test] + public void ContainsKey() + { + Int64 test = 10; + + Assert.IsFalse(TestSettings.AppSettings.Contains("int64_setting"), "Default value was not false"); + + TestSettings.Int64Setting = test; + + Assert.IsTrue(TestSettings.AppSettings.Contains("int64_setting"), "Default value was not false"); + + } + + + [Test] + public void Int32() + { + Int32 test = 10; + + TestSettings.Int32Setting = test; + Assert.True(TestSettings.Int32Setting == test, "Int32 not saved"); + } + + + [Test] + public void Int() + { + int test = 10; + + TestSettings.IntSetting = test; + Assert.True(TestSettings.IntSetting == test, "Int not saved"); + } + + [Test] + public void Bool() + { + var test = true; + + TestSettings.BoolSetting = test; + Assert.True(TestSettings.BoolSetting == test, "Bool not saved"); + } + + [Test] + public void Double() + { + double test = 10.001; + + TestSettings.DoubleSetting = test; + Assert.True(TestSettings.DoubleSetting == test, "Double not saved"); + } + + [Test] + public void Double_Zero() + { + double test = 0.0D; + + TestSettings.DoubleSetting = test; + Assert.True(TestSettings.DoubleSetting == test, "Double not saved"); + } + + [Test] + public void Double_Max() + { + double test = double.MaxValue; + + TestSettings.DoubleSetting = test; + Assert.True(TestSettings.DoubleSetting == test, "Double not saved"); + } + + [Test] + public void Double_Min() + { + double test = double.MinValue; + + TestSettings.DoubleSetting = test; + Assert.True(TestSettings.DoubleSetting == test, "Double not saved"); + } + + [Test] + public void Decimal() + { + decimal test = 0.099M; + + TestSettings.DecimalSetting = test; + Assert.True(TestSettings.DecimalSetting == test, "Decimal not saved"); + } + + [Test] + public void DateTime() + { + + DateTime test = new DateTime(1986, 6, 25, 4, 0, 0).ToUniversalTime(); + + TestSettings.DateTimeSetting = test; + Assert.True(TestSettings.DateTimeSetting.Value.Ticks == test.Ticks, "DateTime not saved"); + } + + [Test] + public void Guid() + { + Guid test = new Guid("EFFB4B96-92F3-4551-9732-36B11DC8B051"); + + TestSettings.GuidSetting = test; + Assert.True(TestSettings.GuidSetting.ToString() == test.ToString(), "Guid not saved"); + } + + + [Test] + public void AddRemove() + { + TestSettings.StringSetting = "Hello World"; + + TestSettings.DateTimeSetting = null; + + Assert.IsTrue(TestSettings.DateTimeSetting.HasValue, "Date wasn't set to null, it is: " + TestSettings.StringSetting); + + + + TestSettings.Remove("date_setting"); + + Assert.IsFalse(TestSettings.DateTimeSetting.HasValue, "String should be back to default of string.empty, it is: " + TestSettings.StringSetting); + } + + [Test] + public void Upgrade140To150TestAddAndUpdate() + { + //old value was stored as a long to test + TestSettings.AppSettings.AddOrUpdateValue("test1", (long)100); + //new value is stored as a string via decimal + TestSettings.AppSettings.AddOrUpdateValue("test1", (decimal)100.01M); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test1", (decimal)100.02M) == (decimal)100.01M, "Decimal did not upgrade correctly"); + + + //old value was stored as a long to test + TestSettings.AppSettings.AddOrUpdateValue("test2", (long)100); + TestSettings.AppSettings.AddOrUpdateValue("test2", (double)100.01); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test2", (double)100.02) == (double)100.01, "Double did not upgrade correctly"); + } + + } +} \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/AppDelegate.cs b/tests/Plugin.Settings.NUnitTest.iOS/AppDelegate.cs similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/AppDelegate.cs rename to tests/Plugin.Settings.NUnitTest.iOS/AppDelegate.cs diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Info.plist b/tests/Plugin.Settings.NUnitTest.iOS/Info.plist similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Info.plist rename to tests/Plugin.Settings.NUnitTest.iOS/Info.plist diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Main.cs b/tests/Plugin.Settings.NUnitTest.iOS/Main.cs similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Main.cs rename to tests/Plugin.Settings.NUnitTest.iOS/Main.cs diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Refractored.Xam.Settings.NUnitTest.iOS.csproj b/tests/Plugin.Settings.NUnitTest.iOS/Plugin.Settings.NUnitTest.iOS.csproj similarity index 68% rename from tests/Refractored.Xam.Settings.NUnitTest.iOS/Refractored.Xam.Settings.NUnitTest.iOS.csproj rename to tests/Plugin.Settings.NUnitTest.iOS/Plugin.Settings.NUnitTest.iOS.csproj index bc9d026..953a2b5 100644 --- a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Refractored.Xam.Settings.NUnitTest.iOS.csproj +++ b/tests/Plugin.Settings.NUnitTest.iOS/Plugin.Settings.NUnitTest.iOS.csproj @@ -3,14 +3,12 @@ Debug iPhoneSimulator - 8.0.30703 - 2.0 {38DD1031-7DA2-4F7D-B6EF-060317B34950} - {6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Exe - Refractored.Xam.Settings.NUnitTest.iOS + Refractored.Xam.Settings.NUnitTest.iOSUnified Resources - RefractoredXamSettingsNUnitTestiOS + RefractoredXamSettingsNUnitTestiOSUnified true @@ -21,8 +19,10 @@ prompt 4 false + i386, x86_64 None true + Entitlements.plist none @@ -30,8 +30,15 @@ bin\iPhoneSimulator\Release prompt 4 - false None + i386, x86_64 + false + + + iPhone Developer + + + true @@ -42,21 +49,9 @@ prompt 4 false - False + ARMv7, ARM64 iPhone Developer - 8.1 - SdkOnly - False - - False - True - Default, ARMv7 - False - False - False - False - False - + true none @@ -64,6 +59,8 @@ bin\iPhone\Release prompt 4 + Entitlements.plist + ARMv7, ARM64 false iPhone Developer @@ -74,8 +71,11 @@ prompt 4 False - iPhone Distribution + ARMv7, ARM64 + Entitlements.plist True + Automatic:AdHoc + iPhone Distribution none @@ -84,11 +84,14 @@ prompt 4 False + ARMv7, ARM64 + Entitlements.plist + Automatic:AppStore iPhone Distribution - - TestSample.cs + + Tests.cs @@ -107,21 +110,23 @@ - + - + {d12d6afa-0696-4177-9c85-ec576277ef8e} - Refractored.Xam.Settings.Abstractions + Plugin.Settings.Abstractions - - {c598e2c2-e094-42b7-a8d7-be83e1c72c86} - Refractored.Xam.Settings.iOS + + {fcf19725-8c2f-44c5-aa52-513ee32469e2} + Plugin.Settings.iOSUnified + false + false - + {2961bec8-6e97-4943-af17-491e25309619} - Refractored.Xam.Settings.Tests.Portable + Plugin.Settings.Tests.Portable - + \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Properties/AssemblyInfo.cs b/tests/Plugin.Settings.NUnitTest.iOS/Properties/AssemblyInfo.cs similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Properties/AssemblyInfo.cs rename to tests/Plugin.Settings.NUnitTest.iOS/Properties/AssemblyInfo.cs diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Refractored.Xam.Settings.NUnitTest.iOSUnified.csproj b/tests/Plugin.Settings.NUnitTest.iOS/Refractored.Xam.Settings.NUnitTest.iOSUnified.csproj similarity index 88% rename from tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Refractored.Xam.Settings.NUnitTest.iOSUnified.csproj rename to tests/Plugin.Settings.NUnitTest.iOS/Refractored.Xam.Settings.NUnitTest.iOSUnified.csproj index dc92915..67f47a8 100644 --- a/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Refractored.Xam.Settings.NUnitTest.iOSUnified.csproj +++ b/tests/Plugin.Settings.NUnitTest.iOS/Refractored.Xam.Settings.NUnitTest.iOSUnified.csproj @@ -3,7 +3,7 @@ Debug iPhoneSimulator - {0C283E74-8FEF-4441-A9B4-708DC70C3E35} + {38DD1031-7DA2-4F7D-B6EF-060317B34950} {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Exe Refractored.Xam.Settings.NUnitTest.iOSUnified @@ -91,9 +91,6 @@ iPhone Distribution - - TestSample.cs - @@ -114,18 +111,14 @@ - + {d12d6afa-0696-4177-9c85-ec576277ef8e} Refractored.Xam.Settings.Abstractions - + {fcf19725-8c2f-44c5-aa52-513ee32469e2} Refractored.Xam.Settings.iOSUnified - - {2961bec8-6e97-4943-af17-491e25309619} - Refractored.Xam.Settings.Tests.Portable - \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Resources/Default-568h@2x.png b/tests/Plugin.Settings.NUnitTest.iOS/Resources/Default-568h@2x.png similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.iOS/Resources/Default-568h@2x.png rename to tests/Plugin.Settings.NUnitTest.iOS/Resources/Default-568h@2x.png diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Resources/Default.png b/tests/Plugin.Settings.NUnitTest.iOS/Resources/Default.png similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.iOS/Resources/Default.png rename to tests/Plugin.Settings.NUnitTest.iOS/Resources/Default.png diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Resources/Default@2x.png b/tests/Plugin.Settings.NUnitTest.iOS/Resources/Default@2x.png similarity index 100% rename from tests/Refractored.Xam.Settings.NUnitTest.iOS/Resources/Default@2x.png rename to tests/Plugin.Settings.NUnitTest.iOS/Resources/Default@2x.png diff --git a/tests/Plugin.Settings.Tests.Portable/Helpers/TestSettings.cs b/tests/Plugin.Settings.Tests.Portable/Helpers/TestSettings.cs new file mode 100644 index 0000000..bdf7e1a --- /dev/null +++ b/tests/Plugin.Settings.Tests.Portable/Helpers/TestSettings.cs @@ -0,0 +1,164 @@ +// Helpers/Settings.cs +using Plugin.Settings.Abstractions; +using System; + +namespace Plugin.Settings.Tests.Portable.Helpers +{ + /// + /// This is the Settings static class that can be used in your Core solution or in any + /// of your client applications. All settings are laid out the same exact way with getters + /// and setters. + /// + public static class TestSettings + { + public static ISettings AppSettings + { + get + { + return CrossSettings.Current; + } + } + + #region Setting Constants + + public const string SettingsKey = "settings_key"; + private static readonly string SettingsDefault = string.Empty; + + #endregion + + public static Guid GuidSetting + { + get + { + return AppSettings.GetValueOrDefault("guid_setting", Guid.Empty); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("guid_setting", value); + } + } + + public static decimal DecimalSetting + { + get + { + return AppSettings.GetValueOrDefault("decimal_setting", (decimal)0); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("decimal_setting", value); + } + } + + public static int IntSetting + { + get + { + return AppSettings.GetValueOrDefault("int_setting", (int)0); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("int_setting", value); + } + } + + public static float FloatSetting + { + get + { + return AppSettings.GetValueOrDefault("float_setting", (float)0); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("float_setting", value); + } + } + + public static Int64 Int64Setting + { + get + { + return AppSettings.GetValueOrDefault("int64_setting", (Int64)0); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("int64_setting", value); + } + } + + public static Int32 Int32Setting + { + get + { + return AppSettings.GetValueOrDefault("int32_setting", (Int32)0); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("int32_setting", value); + } + } + + public static DateTime? DateTimeSetting + { + get + { + return AppSettings.GetValueOrDefault("date_setting"); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("date_setting", value); + } + } + + public static double DoubleSetting + { + get + { + return AppSettings.GetValueOrDefault("double_setting", (double)0); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue("double_setting", value); + } + } + + public static bool BoolSetting + { + get + { + return AppSettings.GetValueOrDefault("bool_setting", false); + } + set + { + AppSettings.AddOrUpdateValue("bool_setting", value); + } + } + + public static string StringSetting + { + get + { + return AppSettings.GetValueOrDefault(SettingsKey, SettingsDefault); + } + set + { + //if value has changed then save it! + AppSettings.AddOrUpdateValue(SettingsKey, value); + } + } + + public static void Remove(string key) + { + AppSettings.Remove(key); + } + + } +} \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.Tests.Portable/Refractored.Xam.Settings.Tests.Portable.csproj b/tests/Plugin.Settings.Tests.Portable/Plugin.Settings.Tests.Portable.csproj similarity index 89% rename from tests/Refractored.Xam.Settings.Tests.Portable/Refractored.Xam.Settings.Tests.Portable.csproj rename to tests/Plugin.Settings.Tests.Portable/Plugin.Settings.Tests.Portable.csproj index d1846d0..6b4801f 100644 --- a/tests/Refractored.Xam.Settings.Tests.Portable/Refractored.Xam.Settings.Tests.Portable.csproj +++ b/tests/Plugin.Settings.Tests.Portable/Plugin.Settings.Tests.Portable.csproj @@ -37,13 +37,13 @@ - + {d12d6afa-0696-4177-9c85-ec576277ef8e} - Refractored.Xam.Settings.Abstractions + Plugin.Settings.Abstractions - + {747706f4-ecbf-4d50-8d72-b0ddcc18395c} - Refractored.Xam.Settings + Plugin.Settings diff --git a/tests/Refractored.Xam.Settings.Tests.Portable/Properties/AssemblyInfo.cs b/tests/Plugin.Settings.Tests.Portable/Properties/AssemblyInfo.cs similarity index 100% rename from tests/Refractored.Xam.Settings.Tests.Portable/Properties/AssemblyInfo.cs rename to tests/Plugin.Settings.Tests.Portable/Properties/AssemblyInfo.cs diff --git a/tests/Plugin.Settings.Tests/Plugin.Settings.Tests.projitems b/tests/Plugin.Settings.Tests/Plugin.Settings.Tests.projitems new file mode 100644 index 0000000..eb9b1d7 --- /dev/null +++ b/tests/Plugin.Settings.Tests/Plugin.Settings.Tests.projitems @@ -0,0 +1,14 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + bf22d037-a5fc-4f7e-81fb-9bd8a3b04c7c + + + Plugin.Settings.Tests + + + + + \ No newline at end of file diff --git a/tests/Plugin.Settings.Tests/Plugin.Settings.Tests.shproj b/tests/Plugin.Settings.Tests/Plugin.Settings.Tests.shproj new file mode 100644 index 0000000..db74b07 --- /dev/null +++ b/tests/Plugin.Settings.Tests/Plugin.Settings.Tests.shproj @@ -0,0 +1,13 @@ + + + + bf22d037-a5fc-4f7e-81fb-9bd8a3b04c7c + 14.0 + + + + + + + + diff --git a/tests/Plugin.Settings.Tests/Tests.cs b/tests/Plugin.Settings.Tests/Tests.cs new file mode 100644 index 0000000..63b49be --- /dev/null +++ b/tests/Plugin.Settings.Tests/Tests.cs @@ -0,0 +1,158 @@ +using System; +using NUnit.Framework; +using Plugin.Settings.Tests.Portable.Helpers; + + +namespace Plugin.Settings.NUnitTest +{ + [TestFixture] + public class TestsSample + { + + [SetUp] + public void Setup() { } + + + [TearDown] + public void Tear() { } + + [Test] + public void Int64() + { + Int64 test = 10; + + TestSettings.Int64Setting = test; + Assert.True(TestSettings.Int64Setting == test, "Int64 not saved"); + } + + + [Test] + public void Int32() + { + Int32 test = 10; + + TestSettings.Int32Setting = test; + Assert.True(TestSettings.Int32Setting == test, "Int32 not saved"); + } + + + [Test] + public void Int() + { + int test = 10; + + TestSettings.IntSetting = test; + Assert.True(TestSettings.IntSetting == test, "Int not saved"); + } + + [Test] + public void Bool() + { + var test = true; + + TestSettings.BoolSetting = test; + Assert.True(TestSettings.BoolSetting == test, "Bool not saved"); + } + + [Test] + public void Double() + { + double test = 10.001; + + TestSettings.DoubleSetting = test; + Assert.True(TestSettings.DoubleSetting == test, "Double not saved"); + } + + [Test] + public void Decimal() + { + decimal test = 0.099M; + + TestSettings.DecimalSetting = test; + Assert.True(TestSettings.DecimalSetting == test, "Decimal not saved"); + } + + [Test] + public void DateTime() + { + + DateTime test = new DateTime(1986, 6, 25, 4, 0, 0); + + TestSettings.DateTimeSetting = test; + Assert.True(TestSettings.DateTimeSetting.Value.Ticks == test.Ticks, "DateTime not saved"); + } + + [Test] + public void Guid() + { + Guid test = new Guid("EFFB4B96-92F3-4551-9732-36B11DC8B051"); + + TestSettings.GuidSetting = test; + Assert.True(TestSettings.GuidSetting.ToString() == test.ToString(), "Guid not saved"); + } + + + [Test] + public void AddRemove() + { + TestSettings.StringSetting = "Hello World"; + + TestSettings.DateTimeSetting = null; + + Assert.IsTrue(TestSettings.DateTimeSetting.HasValue, "Date wasn't set to null, it is: " + TestSettings.StringSetting); + + + + TestSettings.Remove("date_setting"); + + Assert.IsFalse(TestSettings.DateTimeSetting.HasValue, "String should be back to default of string.empty, it is: " + TestSettings.StringSetting); + } + + [Test] + public void Upgrade140To150Test() + { + //old value was stored as a long to test + TestSettings.AppSettings.AddOrUpdateValue("test1", (long)100); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test1", (decimal)101.01M) == (decimal)100M, "Decimal did not upgrade correctly"); + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test1", (decimal)101.01M) == (decimal)100M, "Decimal did not upgrade correctly"); + + + //new value is stored as a string via decimal + TestSettings.AppSettings.AddOrUpdateValue("test1", (decimal)100.01M); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test1", (decimal)100.02M) == (decimal)100.01M, "Decimal did not upgrade correctly"); + + + //old value was stored as a long to test + TestSettings.AppSettings.AddOrUpdateValue("test2", (long)100); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test2", (double)101) == (double)100, "Double did not upgrade correctly"); + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test2", (double)101) == (double)100, "Double did not upgrade correctly"); + + //new value is stored as a string via decimal + TestSettings.AppSettings.AddOrUpdateValue("test2", (double)100.01); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test2", (double)100.02) == (double)100.01, "Double did not upgrade correctly"); + } + + [Test] + public void Upgrade140To150TestAddAndUpdate() + { + //old value was stored as a long to test + TestSettings.AppSettings.AddOrUpdateValue("test1", (long)100); + //new value is stored as a string via decimal + TestSettings.AppSettings.AddOrUpdateValue("test1", (decimal)100.01M); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test1", (decimal)100.02M) == (decimal)100.01M, "Decimal did not upgrade correctly"); + + + //old value was stored as a long to test + TestSettings.AppSettings.AddOrUpdateValue("test2", (long)100); + TestSettings.AppSettings.AddOrUpdateValue("test2", (double)100.01); + + Assert.IsTrue(TestSettings.AppSettings.GetValueOrDefault("test2", (double)100.02) == (double)100.01, "Double did not upgrade correctly"); + } + + } +} \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/AppDelegate.cs b/tests/Refractored.Xam.Settings.NUnitTest.iOS/AppDelegate.cs deleted file mode 100644 index c6fc6da..0000000 --- a/tests/Refractored.Xam.Settings.NUnitTest.iOS/AppDelegate.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; - -using MonoTouch.Foundation; -using MonoTouch.UIKit; -using MonoTouch.NUnit.UI; - -namespace Plugin.Settings.NUnitTest.iOS -{ - // The UIApplicationDelegate for the application. This class is responsible for launching the - // User Interface of the application, as well as listening (and optionally responding) to - // application events from iOS. - [Register("AppDelegate")] - public partial class AppDelegate : UIApplicationDelegate - { - // class-level declarations - UIWindow window; - TouchRunner runner; - - // - // This method is invoked when the application has loaded and is ready to run. In this - // method you should instantiate the window, load the UI into it and then make the window - // visible. - // - // You have 17 seconds to return from this method, or iOS will terminate your application. - // - public override bool FinishedLaunching(UIApplication app, NSDictionary options) - { - // create a new window instance based on the screen size - window = new UIWindow(UIScreen.MainScreen.Bounds); - runner = new TouchRunner(window); - - // register every tests included in the main application/assembly - runner.Add(System.Reflection.Assembly.GetExecutingAssembly()); - - window.RootViewController = new UINavigationController(runner.GetViewController()); - - // make the window visible - window.MakeKeyAndVisible(); - - return true; - } - } -} \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Info.plist b/tests/Refractored.Xam.Settings.NUnitTest.iOS/Info.plist deleted file mode 100644 index a511415..0000000 --- a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDisplayName - Plugin.Settings.NUnitTest.iOS - CFBundleIdentifier - com.your-company.Plugin.Settings.NUnitTest.iOS - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - UIDeviceFamily - - 1 - 2 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - MinimumOSVersion - 7.0 - - \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Main.cs b/tests/Refractored.Xam.Settings.NUnitTest.iOS/Main.cs deleted file mode 100644 index f024f4a..0000000 --- a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Main.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; - -using MonoTouch.Foundation; -using MonoTouch.UIKit; - -namespace Plugin.Settings.NUnitTest.iOS -{ - public class Application - { - // This is the main entry point of the application. - static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, "AppDelegate"); - } - } -} \ No newline at end of file diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Properties/AssemblyInfo.cs b/tests/Refractored.Xam.Settings.NUnitTest.iOS/Properties/AssemblyInfo.cs deleted file mode 100644 index 34f3f35..0000000 --- a/tests/Refractored.Xam.Settings.NUnitTest.iOS/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Plugin.Settings.NUnitTest.iOS")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Plugin.Settings.NUnitTest.iOS")] -[assembly: AssemblyCopyright("Copyright © 2014")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("8c095fff-5a28-469d-9bd3-cb9ac57ca105")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Resources/Default-568h@2x.png b/tests/Refractored.Xam.Settings.NUnitTest.iOSUnified/Resources/Default-568h@2x.png deleted file mode 100644 index b3f66780c1383e7f97cb42b80fab80b031814438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12651 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 diff --git a/tests/Refractored.Xam.Settings.Tests.Android/Activity1.cs b/tests/Refractored.Xam.Settings.Tests.Android/Activity1.cs deleted file mode 100644 index 509b0d3..0000000 --- a/tests/Refractored.Xam.Settings.Tests.Android/Activity1.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; - -using Android.App; -using Android.Content; -using Android.Runtime; -using Android.Views; -using Android.Widget; -using Android.OS; -using Refractored.Xam.Settings.Tests.Android; - -namespace Plugin.Settings.Tests.Android -{ - [Activity(Label = "Plugin.Settings.Tests.Android", MainLauncher = true, Icon = "@drawable/icon")] - public class Activity1 : Activity - { - int count = 1; - - protected override void OnCreate(Bundle bundle) - { - base.OnCreate(bundle); - - // Set our view from the "main" layout resource - SetContentView(Resource.Layout.Main); - - // Get our button from the layout resource, - // and attach an event to it - Button button = FindViewById