Kaynağa Gözat

add qdr.app.qlbrc.common.Tests

Dalibor Votruba 3 yıl önce
ebeveyn
işleme
17b0606dd4

+ 3 - 2
Common/qdr.app.qlbrc.common/Settings/ModuleSetting.cs

@@ -1,6 +1,7 @@
 using System.Reflection;
 using Quadarax.Foundation.Core.Data.Interface.Entity;
 using Quadarax.Foundation.Core.Object.Extensions;
+using Quadarax.Foundation.Core.Reflection.Extensions;
 
 namespace Quadarax.Application.QLiberace.Common.Settings
 {
@@ -11,7 +12,7 @@ namespace Quadarax.Application.QLiberace.Common.Settings
             if (data == null)
                 throw new ArgumentNullException(nameof(data));
 
-            var properties = this.GetType().GetProperties(BindingFlags.Public);
+            var properties = this.GetType().GetAllProperties();
             foreach (var item in data)
             {
                 var property = properties.FirstOrDefault(x => string.Equals(x.Name, item.Item1));
@@ -26,7 +27,7 @@ namespace Quadarax.Application.QLiberace.Common.Settings
 
         public IEnumerable<Tuple<string, string, object?>> GetData()
         {
-            var properties = this.GetType().GetProperties(BindingFlags.Public);
+            var properties = this.GetType().GetAllProperties();
             var result = this.GetAllPropertyValues().
                 Select(x=> new Tuple<string, string, object?>(x.Key, properties.First(y=>y.Name == x.Key).PropertyType.Name, properties.First(y=>y.Name == x.Key).GetValue(this)));
 

+ 50 - 0
Tests/qdr.app.qlbrc.common.Tests/Settings/Fakes/ModuleSettingFake.cs

@@ -0,0 +1,50 @@
+using Quadarax.Application.QLiberace.Common.Settings;
+
+namespace Quadarax.Application.QLiberace.Common.Tests.Settings.Fakes
+{
+    internal class ModuleSettingFake : ModuleSetting
+    {
+
+        public const string DefPropertyString1 = "test1";
+        public const string? DefPropertyString2 = null;
+        public const string DefPropertyDateTime1String = "12.3.2022 13:02:54";
+        public const string? DefPropertyDateTime2String = null;
+
+        public const string DefPropertyTimeSpanString = "00:00:35";
+        public const int DefPropertyInt = 35;
+        public const bool DefPropertyBool = true;
+
+
+        public string PropertyString1 { get; set; }
+        public string? PropertyString2 { get; set; }
+        public DateTime PropertyDateTime1 { get; set; }
+        public DateTime? PropertyDateTime2 { get; set; }
+
+        public TimeSpan? PropertyTimeSpan { get; set; }
+        public int? PropertyInt { get; set; }
+        public bool PropertyBool { get; set; }
+
+
+
+        public ModuleSettingFake()
+        {
+            PropertyString1 = string.Empty;
+            Reset();
+        }
+
+        private void Reset()
+        {
+            PropertyString1 = DefPropertyString1;
+            PropertyString2 = DefPropertyString2;
+            PropertyDateTime1 = DateTime.Parse(DefPropertyDateTime1String);
+            PropertyDateTime2 = string.IsNullOrEmpty(DefPropertyDateTime2String)
+                ? (DateTime?)null
+                : DateTime.Parse(DefPropertyDateTime2String!);
+            PropertyTimeSpan = string.IsNullOrEmpty(DefPropertyTimeSpanString)
+                ? (TimeSpan?)null
+                : TimeSpan.Parse(DefPropertyTimeSpanString);
+            PropertyInt = DefPropertyInt;
+            PropertyBool = DefPropertyBool;
+        }
+    }
+}

+ 39 - 0
Tests/qdr.app.qlbrc.common.Tests/Settings/ModuleSettingsTest.cs

@@ -0,0 +1,39 @@
+using Quadarax.Application.QLiberace.Common.Tests.Settings.Fakes;
+
+namespace Quadarax.Application.QLiberace.Common.Tests.Settings
+{
+    public class ModuleSettingsTest
+    {
+        private ModuleSettingFake _setting;
+
+
+
+        [SetUp]
+        public void Setup()
+        {
+            _setting = new ModuleSettingFake();
+        }
+
+        [Test]
+        public void GetData()
+        {
+            //TODO: fix test
+            var data = _setting.GetData().ToArray();
+
+            Assert.That(data.Length, Is.EqualTo(7));
+            CollectionAssert.Contains(data,new Tuple<string, string, object?>("PropertyString1", string.Empty, ModuleSettingFake.DefPropertyString1));
+            CollectionAssert.Contains(data,new Tuple<string, string, object?>("PropertyString2", string.Empty, ModuleSettingFake.DefPropertyString2));
+            CollectionAssert.Contains(data,new Tuple<string, string, object?>("PropertyDateTime1", string.Empty, string.IsNullOrEmpty(ModuleSettingFake.DefPropertyDateTime1String)
+                ? (DateTime?)null
+                : DateTime.Parse(ModuleSettingFake.DefPropertyDateTime1String!)));
+            CollectionAssert.Contains(data,new Tuple<string, string, object?>("PropertyDateTime2", string.Empty, string.IsNullOrEmpty(ModuleSettingFake.DefPropertyDateTime2String)
+                ? (DateTime?)null
+                : DateTime.Parse(ModuleSettingFake.DefPropertyDateTime2String!)));
+            CollectionAssert.Contains(data,new Tuple<string, string, object?>("PropertyTimeSpan", string.Empty, string.IsNullOrEmpty(ModuleSettingFake.DefPropertyTimeSpanString)
+                ? (TimeSpan?)null
+                : TimeSpan.Parse(ModuleSettingFake.DefPropertyTimeSpanString!)));
+            CollectionAssert.Contains(data,new Tuple<string, string, object?>("PropertyInt", string.Empty, ModuleSettingFake.DefPropertyInt));
+            CollectionAssert.Contains(data,new Tuple<string, string, object?>("PropertyBool", string.Empty, ModuleSettingFake.DefPropertyBool));
+        }
+    }
+}

+ 1 - 0
Tests/qdr.app.qlbrc.common.Tests/Usings.cs

@@ -0,0 +1 @@
+global using NUnit.Framework;

+ 25 - 0
Tests/qdr.app.qlbrc.common.Tests/qdr.app.qlbrc.common.Tests.csproj

@@ -0,0 +1,25 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+
+    <IsPackable>false</IsPackable>
+
+    <RootNamespace>Quadarax.Application.QLiberace.Common.Tests</RootNamespace>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
+    <PackageReference Include="NUnit" Version="3.13.3" />
+    <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
+    <PackageReference Include="NUnit.Analyzers" Version="3.3.0" />
+    <PackageReference Include="coverlet.collector" Version="3.1.2" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\common\qdr.app.qlbrc.common\qdr.app.qlbrc.common.csproj" />
+  </ItemGroup>
+
+</Project>

+ 110 - 97
qdr.app.qlbrc.sln

@@ -1,97 +1,110 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.3.32901.215
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.app.qlbrc.common", "common\qdr.app.qlbrc.common\qdr.app.qlbrc.common.csproj", "{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{52B118CE-E47C-475C-8177-FC49F0FC8FE8}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{24170366-2A73-4C1E-86D6-DA3C987D304E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "QDR.FND", "QDR.FND", "{F528683A-B908-440C-9D94-F4675A3F760E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core", "Common\qdr.fnd.core\qdr.fnd.core.csproj", "{C3790F95-E386-4359-975C-5ADE7EF6180C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.business", "Common\qdr.fnd.core.business\qdr.fnd.core.business.csproj", "{9C5E6493-087D-45B7-8A16-0040C1CAD146}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.data", "Common\qdr.fnd.core.data\qdr.fnd.core.data.csproj", "{CCDD39A7-253C-4612-A775-CB40313BFAC4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.data.itfc", "Common\qdr.fnd.core.data.itfc\qdr.fnd.core.data.itfc.csproj", "{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.nlog", "Common\qdr.fnd.core.nlog\qdr.fnd.core.nlog.csproj", "{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.qconsole", "Common\qdr.fnd.core.qconsole\qdr.fnd.core.qconsole.csproj", "{401639F1-78C2-45D5-96B9-ED2562A3D941}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.web", "Common\qdr.fnd.core.web\qdr.fnd.core.web.csproj", "{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.app.qlbrc.base", "Modules\qdr.app.qlbrc.base\qdr.app.qlbrc.base.csproj", "{6B994E28-1619-4180-BE7C-8E9DA895781E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "qdr.app.qlbrc.console", "qdr.app.qlbrc.console\qdr.app.qlbrc.console.csproj", "{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Release|Any CPU.Build.0 = Release|Any CPU
-		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Release|Any CPU.Build.0 = Release|Any CPU
-		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Release|Any CPU.Build.0 = Release|Any CPU
-		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Release|Any CPU.Build.0 = Release|Any CPU
-		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(NestedProjects) = preSolution
-		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E} = {52B118CE-E47C-475C-8177-FC49F0FC8FE8}
-		{F528683A-B908-440C-9D94-F4675A3F760E} = {52B118CE-E47C-475C-8177-FC49F0FC8FE8}
-		{C3790F95-E386-4359-975C-5ADE7EF6180C} = {F528683A-B908-440C-9D94-F4675A3F760E}
-		{9C5E6493-087D-45B7-8A16-0040C1CAD146} = {F528683A-B908-440C-9D94-F4675A3F760E}
-		{CCDD39A7-253C-4612-A775-CB40313BFAC4} = {F528683A-B908-440C-9D94-F4675A3F760E}
-		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265} = {F528683A-B908-440C-9D94-F4675A3F760E}
-		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F} = {F528683A-B908-440C-9D94-F4675A3F760E}
-		{401639F1-78C2-45D5-96B9-ED2562A3D941} = {F528683A-B908-440C-9D94-F4675A3F760E}
-		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F} = {F528683A-B908-440C-9D94-F4675A3F760E}
-		{6B994E28-1619-4180-BE7C-8E9DA895781E} = {24170366-2A73-4C1E-86D6-DA3C987D304E}
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {AB5693A0-BE22-4D85-997A-EC8F74FE9B10}
-	EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.3.32901.215
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.app.qlbrc.common", "common\qdr.app.qlbrc.common\qdr.app.qlbrc.common.csproj", "{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{52B118CE-E47C-475C-8177-FC49F0FC8FE8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{24170366-2A73-4C1E-86D6-DA3C987D304E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "QDR.FND", "QDR.FND", "{F528683A-B908-440C-9D94-F4675A3F760E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core", "Common\qdr.fnd.core\qdr.fnd.core.csproj", "{C3790F95-E386-4359-975C-5ADE7EF6180C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.business", "Common\qdr.fnd.core.business\qdr.fnd.core.business.csproj", "{9C5E6493-087D-45B7-8A16-0040C1CAD146}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.data", "Common\qdr.fnd.core.data\qdr.fnd.core.data.csproj", "{CCDD39A7-253C-4612-A775-CB40313BFAC4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.data.itfc", "Common\qdr.fnd.core.data.itfc\qdr.fnd.core.data.itfc.csproj", "{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.nlog", "Common\qdr.fnd.core.nlog\qdr.fnd.core.nlog.csproj", "{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.qconsole", "Common\qdr.fnd.core.qconsole\qdr.fnd.core.qconsole.csproj", "{401639F1-78C2-45D5-96B9-ED2562A3D941}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.fnd.core.web", "Common\qdr.fnd.core.web\qdr.fnd.core.web.csproj", "{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.app.qlbrc.base", "Modules\qdr.app.qlbrc.base\qdr.app.qlbrc.base.csproj", "{6B994E28-1619-4180-BE7C-8E9DA895781E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qdr.app.qlbrc.console", "qdr.app.qlbrc.console\qdr.app.qlbrc.console.csproj", "{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{6B02BEE0-E272-4AD5-B61D-69713331842B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{D8C71782-99B7-49FA-BF63-F40D8232B8DE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "qdr.app.qlbrc.common.Tests", "Tests\qdr.app.qlbrc.common.Tests\qdr.app.qlbrc.common.Tests.csproj", "{653F7A49-07B8-4AE5-80FC-E559F38718CF}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C3790F95-E386-4359-975C-5ADE7EF6180C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9C5E6493-087D-45B7-8A16-0040C1CAD146}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CCDD39A7-253C-4612-A775-CB40313BFAC4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{401639F1-78C2-45D5-96B9-ED2562A3D941}.Release|Any CPU.Build.0 = Release|Any CPU
+		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6B994E28-1619-4180-BE7C-8E9DA895781E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FE8DC617-AEE2-47A1-BB50-96643A7FDAB3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{653F7A49-07B8-4AE5-80FC-E559F38718CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{653F7A49-07B8-4AE5-80FC-E559F38718CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{653F7A49-07B8-4AE5-80FC-E559F38718CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{653F7A49-07B8-4AE5-80FC-E559F38718CF}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{6DE0CC4E-E149-4A8C-8EEC-9E629BD3FD0E} = {52B118CE-E47C-475C-8177-FC49F0FC8FE8}
+		{F528683A-B908-440C-9D94-F4675A3F760E} = {52B118CE-E47C-475C-8177-FC49F0FC8FE8}
+		{C3790F95-E386-4359-975C-5ADE7EF6180C} = {F528683A-B908-440C-9D94-F4675A3F760E}
+		{9C5E6493-087D-45B7-8A16-0040C1CAD146} = {F528683A-B908-440C-9D94-F4675A3F760E}
+		{CCDD39A7-253C-4612-A775-CB40313BFAC4} = {F528683A-B908-440C-9D94-F4675A3F760E}
+		{5113BB50-96CB-4B60-9DBB-1ECE86CE7265} = {F528683A-B908-440C-9D94-F4675A3F760E}
+		{D0B0EC47-DE15-4DF1-916C-4D620CD6A67F} = {F528683A-B908-440C-9D94-F4675A3F760E}
+		{401639F1-78C2-45D5-96B9-ED2562A3D941} = {F528683A-B908-440C-9D94-F4675A3F760E}
+		{235C1F9C-CFBA-4CB0-B9A0-CCFD83D42D2F} = {F528683A-B908-440C-9D94-F4675A3F760E}
+		{6B994E28-1619-4180-BE7C-8E9DA895781E} = {24170366-2A73-4C1E-86D6-DA3C987D304E}
+		{6B02BEE0-E272-4AD5-B61D-69713331842B} = {24170366-2A73-4C1E-86D6-DA3C987D304E}
+		{D8C71782-99B7-49FA-BF63-F40D8232B8DE} = {52B118CE-E47C-475C-8177-FC49F0FC8FE8}
+		{653F7A49-07B8-4AE5-80FC-E559F38718CF} = {D8C71782-99B7-49FA-BF63-F40D8232B8DE}
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {AB5693A0-BE22-4D85-997A-EC8F74FE9B10}
+	EndGlobalSection
+EndGlobal