diff --git a/appveyor.yml b/appveyor.yml index 429f242..f0e1936 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 2.2.5.{build} +version: 2.2.6.{build} init: - dotnet tool install --global SpecFlow.Plus.LivingDoc.CLI configuration: Release diff --git a/devops/deploy/deploy-all.bat b/devops/deploy/deploy-all.bat index 844c347..d31a31b 100644 --- a/devops/deploy/deploy-all.bat +++ b/devops/deploy/deploy-all.bat @@ -1,5 +1,5 @@ rem TODO: Use common source for all version instances -SET version=2.2.5 +SET version=2.2.6 rem TODO: Refactor using loop and automatic discovery call deploy-single.bat LogoFX.Core %version% call deploy-single.bat LogoFX.Practices.IoC %version% diff --git a/devops/pack/LogoFX.Client.Core.Core/contents/LogoFX.Client.Core.Core.nuspec b/devops/pack/LogoFX.Client.Core.Core/contents/LogoFX.Client.Core.Core.nuspec index b7cbc19..2934212 100644 --- a/devops/pack/LogoFX.Client.Core.Core/contents/LogoFX.Client.Core.Core.nuspec +++ b/devops/pack/LogoFX.Client.Core.Core/contents/LogoFX.Client.Core.Core.nuspec @@ -2,7 +2,7 @@ LogoFX.Client.Core.Core - 2.2.5 + 2.2.6 LogoFX.Client.Core.Core Gennady Verdel, David Kossoglyad, Vlad Spivak Gennady Verdel @@ -14,7 +14,7 @@ LogoFX Client Core Core containing core facilities for client applications development, including implementation of INotifyPropertyChanged and ambient context for the dispatcher. Added SetProperty functionality - + framework logofx dotnet diff --git a/devops/pack/LogoFX.Client.Core/contents/LogoFX.Client.Core.nuspec b/devops/pack/LogoFX.Client.Core/contents/LogoFX.Client.Core.nuspec index dbf5bce..44bf0f1 100644 --- a/devops/pack/LogoFX.Client.Core/contents/LogoFX.Client.Core.nuspec +++ b/devops/pack/LogoFX.Client.Core/contents/LogoFX.Client.Core.nuspec @@ -2,7 +2,7 @@ LogoFX.Client.Core - 2.2.5 + 2.2.6 LogoFX.Client.Core Gennady Verdel, David Kossoglyad, Vlad Spivak Gennady Verdel @@ -14,7 +14,7 @@ LogoFX Client Core containing platform-specific utilities for client applications, including dispatcher. Added .NET 5 support - + framework logofx dotnet diff --git a/devops/pack/LogoFX.Client.Core/pack.bat b/devops/pack/LogoFX.Client.Core/pack.bat index 91fc118..ebf05a2 100644 --- a/devops/pack/LogoFX.Client.Core/pack.bat +++ b/devops/pack/LogoFX.Client.Core/pack.bat @@ -11,8 +11,6 @@ rmdir /Q /S ref cd .. mkdir netcoreapp3.1 robocopy ../../../../../src/Bin/netcore/Release netcoreapp3.1 LogoFX.Client.Core.Platform.* /E -mkdir uap10.0 -robocopy ../../../../../src/Bin/uwp/Release uap10.0 LogoFX.Client.Core.Platform.* /E mkdir monoandroid403 robocopy ../../../../../src/Bin/android/Release monoandroid403 LogoFX.Client.Core.Platform.* /E mkdir xamarin.ios10 diff --git a/devops/pack/LogoFX.Client.Modularity/contents/LogoFX.Client.Modularity.nuspec b/devops/pack/LogoFX.Client.Modularity/contents/LogoFX.Client.Modularity.nuspec index e357626..4834b78 100644 --- a/devops/pack/LogoFX.Client.Modularity/contents/LogoFX.Client.Modularity.nuspec +++ b/devops/pack/LogoFX.Client.Modularity/contents/LogoFX.Client.Modularity.nuspec @@ -2,7 +2,7 @@ LogoFX.Client.Modularity - 2.2.5 + 2.2.6 LogoFX.Client.Modularity Gennady Verdel, David Kossoglyad, Dmitry Bublik Gennady Verdel @@ -15,7 +15,7 @@ - + framework logofx dotnet diff --git a/devops/pack/LogoFX.Client.Theming/contents/LogoFX.Client.Theming.nuspec b/devops/pack/LogoFX.Client.Theming/contents/LogoFX.Client.Theming.nuspec index 927b519..b1f4d6e 100644 --- a/devops/pack/LogoFX.Client.Theming/contents/LogoFX.Client.Theming.nuspec +++ b/devops/pack/LogoFX.Client.Theming/contents/LogoFX.Client.Theming.nuspec @@ -2,7 +2,7 @@ LogoFX.Client.Theming - 2.2.5 + 2.2.6 LogoFX.Client.Theming Dmitry Bublik, David Kossoglyad, Gennady Verdel Gennady Verdel diff --git a/devops/pack/LogoFX.Core/contents/LogoFX.Core.nuspec b/devops/pack/LogoFX.Core/contents/LogoFX.Core.nuspec index b642fb3..ae7ca17 100644 --- a/devops/pack/LogoFX.Core/contents/LogoFX.Core.nuspec +++ b/devops/pack/LogoFX.Core/contents/LogoFX.Core.nuspec @@ -2,7 +2,7 @@ LogoFX.Core - 2.2.5 + 2.2.6 Gennady Verdel, David Kossoglyad, Vlad Spivak, Dmitry Bublik Gennady Verdel false diff --git a/devops/pack/LogoFX.Practices.IoC/contents/LogoFX.Practices.IoC.nuspec b/devops/pack/LogoFX.Practices.IoC/contents/LogoFX.Practices.IoC.nuspec index ce03138..ce5a5ed 100644 --- a/devops/pack/LogoFX.Practices.IoC/contents/LogoFX.Practices.IoC.nuspec +++ b/devops/pack/LogoFX.Practices.IoC/contents/LogoFX.Practices.IoC.nuspec @@ -2,7 +2,7 @@ LogoFX.Practices.IoC - 2.2.5 + 2.2.6 LogoFX.Practices.IoC Gennady Verdel, David Kossoglyad, Dmitry Bublik, Vlad Spivak Gennady Verdel @@ -15,8 +15,8 @@ - - + + framework logofx dotnet diff --git a/devops/publish/publish-all.bat b/devops/publish/publish-all.bat index cded31c..2ef22a3 100644 --- a/devops/publish/publish-all.bat +++ b/devops/publish/publish-all.bat @@ -2,7 +2,7 @@ cd ../../src nuget restore cd ../devops/publish PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '../build/build-all.ps1'" -SET package_version=2.2.5 +SET package_version=2.2.6 cd ../test call test-all cd ../pack diff --git a/devops/publish/publish-single.bat b/devops/publish/publish-single.bat index ceee6a7..ac172c1 100644 --- a/devops/publish/publish-single.bat +++ b/devops/publish/publish-single.bat @@ -1,5 +1,5 @@ SET package_name=%1 -SET package_version=2.2.5 +SET package_version=2.2.6 SET target=../../../../packages/Tests-All cd ../build call build-all diff --git a/devops/update/UpdateUtil/Properties/launchSettings.json b/devops/update/UpdateUtil/Properties/launchSettings.json index 552ca5f..705e2e3 100644 --- a/devops/update/UpdateUtil/Properties/launchSettings.json +++ b/devops/update/UpdateUtil/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "UpdateUtil": { "commandName": "Project", - "commandLineArgs": "Solid 2.3.2" + "commandLineArgs": "Solid 2.3.5" } } } \ No newline at end of file diff --git a/src/LogoFX.Client.Core.Platform.NETCore.Specs/Invocation.feature.cs b/src/LogoFX.Client.Core.Platform.NETCore.Specs/Invocation.feature.cs index b5e2d35..796f027 100644 --- a/src/LogoFX.Client.Core.Platform.NETCore.Specs/Invocation.feature.cs +++ b/src/LogoFX.Client.Core.Platform.NETCore.Specs/Invocation.feature.cs @@ -24,7 +24,7 @@ public partial class InvocationFeature : object, Xunit.IClassFixture(_testOutputHelper); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -86,26 +86,16 @@ void System.IDisposable.Dispose() [Xunit.TraitAttribute("FeatureTitle", "Invocation")] [Xunit.TraitAttribute("Description", "Changing single property with custom action invocation should invoke actions via " + "custom route")] - public virtual void ChangingSinglePropertyWithCustomActionInvocationShouldInvokeActionsViaCustomRoute() + public void ChangingSinglePropertyWithCustomActionInvocationShouldInvokeActionsViaCustomRoute() { string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with custom action invocation should invoke actions via " + - "custom route", null, tagsOfScenario, argumentsOfScenario, this._featureTags); + "custom route", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 6 this.ScenarioInitialize(scenarioInfo); #line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { testRunner.SkipScenario(); } diff --git a/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj b/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj index af2321f..4d9f5ff 100644 --- a/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj +++ b/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj @@ -6,12 +6,12 @@ true - - - + + + - - + + all diff --git a/src/LogoFX.Client.Core.Platform/android/Properties/AssemblyInfo.cs b/src/LogoFX.Client.Core.Platform/android/Properties/AssemblyInfo.cs index 4fe817e..9077e73 100644 --- a/src/LogoFX.Client.Core.Platform/android/Properties/AssemblyInfo.cs +++ b/src/LogoFX.Client.Core.Platform/android/Properties/AssemblyInfo.cs @@ -21,5 +21,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("2.2.5")] -[assembly: AssemblyFileVersion("2.2.5")] +[assembly: AssemblyVersion("2.2.6")] +[assembly: AssemblyFileVersion("2.2.6")] diff --git a/src/LogoFX.Client.Core.Platform/iOS/Properties/AssemblyInfo.cs b/src/LogoFX.Client.Core.Platform/iOS/Properties/AssemblyInfo.cs index e49d12f..e9267ca 100644 --- a/src/LogoFX.Client.Core.Platform/iOS/Properties/AssemblyInfo.cs +++ b/src/LogoFX.Client.Core.Platform/iOS/Properties/AssemblyInfo.cs @@ -28,5 +28,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("2.2.5")] -[assembly: AssemblyFileVersion("2.2.5")] +[assembly: AssemblyVersion("2.2.6")] +[assembly: AssemblyFileVersion("2.2.6")] diff --git a/src/LogoFX.Client.Core.Platform/net/LogoFX.Client.Core.Platform.NET.csproj b/src/LogoFX.Client.Core.Platform/net/LogoFX.Client.Core.Platform.NET.csproj index 07f5f66..bf5317b 100644 --- a/src/LogoFX.Client.Core.Platform/net/LogoFX.Client.Core.Platform.NET.csproj +++ b/src/LogoFX.Client.Core.Platform/net/LogoFX.Client.Core.Platform.NET.csproj @@ -5,7 +5,7 @@ LogoFX.Client.Core.Platform LogoFX.Client.Core true - 2.2.5 + 2.2.6 ..\..\Bin\net\Release diff --git a/src/LogoFX.Client.Core.Platform/netcore/LogoFX.Client.Core.Platform.NETCore.csproj b/src/LogoFX.Client.Core.Platform/netcore/LogoFX.Client.Core.Platform.NETCore.csproj index 6904444..5788fb4 100644 --- a/src/LogoFX.Client.Core.Platform/netcore/LogoFX.Client.Core.Platform.NETCore.csproj +++ b/src/LogoFX.Client.Core.Platform/netcore/LogoFX.Client.Core.Platform.NETCore.csproj @@ -5,7 +5,7 @@ LogoFX.Client.Core.Platform LogoFX.Client.Core true - 2.2.5 + 2.2.6 ..\..\Bin\netcore\Release diff --git a/src/LogoFX.Client.Core.Platform/netframework/Properties/AssemblyInfo.cs b/src/LogoFX.Client.Core.Platform/netframework/Properties/AssemblyInfo.cs index 0320ab2..5fd4444 100644 --- a/src/LogoFX.Client.Core.Platform/netframework/Properties/AssemblyInfo.cs +++ b/src/LogoFX.Client.Core.Platform/netframework/Properties/AssemblyInfo.cs @@ -28,5 +28,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("2.2.5")] -[assembly: AssemblyFileVersion("2.2.5")] +[assembly: AssemblyVersion("2.2.6")] +[assembly: AssemblyFileVersion("2.2.6")] diff --git a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs index f868ab6..c1a6e50 100644 --- a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs +++ b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs @@ -1,9 +1,6 @@ #if NET || NETCORE using System.Windows; #endif -#if NETFX_CORE || WINDOWS_UWP -using Windows.UI.Xaml; -#endif namespace LogoFX.Client.Core { diff --git a/src/LogoFX.Client.Core.Platform/src/Consts.cs b/src/LogoFX.Client.Core.Platform/src/Consts.cs index 2fbf84e..c755d8c 100644 --- a/src/LogoFX.Client.Core.Platform/src/Consts.cs +++ b/src/LogoFX.Client.Core.Platform/src/Consts.cs @@ -1,8 +1,4 @@ -#if NETFX_CORE || WINDOWS_UWP -using Windows.UI.Core; -#endif - -namespace LogoFX.Client.Core +namespace LogoFX.Client.Core { /// /// Dispatcher-related constants. @@ -12,20 +8,7 @@ public static class Consts /// /// The dispatcher priority /// - public const -#if NET || NETCORE - System.Windows.Threading.DispatcherPriority -#endif -#if NETFX_CORE || WINDOWS_UWP - CoreDispatcherPriority -#endif - DispatcherPriority = -#if NET || NETCORE - System.Windows.Threading.DispatcherPriority.DataBind -#endif -#if NETFX_CORE || WINDOWS_UWP - CoreDispatcherPriority.Normal -#endif - ; + public const System.Windows.Threading.DispatcherPriority + DispatcherPriority = System.Windows.Threading.DispatcherPriority.DataBind; } } diff --git a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs index 8e5fefb..eb688e2 100644 --- a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs +++ b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs @@ -1,11 +1,4 @@ -#if WINDOWS_UWP || NETFX_CORE -using Windows.UI.Core; -using Windows.UI.Xaml.Controls; -#endif -#if NET || NETCORE using System.Windows.Threading; -#endif - using LogoFX.Client.Core; // ReSharper disable once CheckNamespace @@ -16,14 +9,7 @@ namespace System.Threading /// public class PlatformDispatch : IDispatch { - private Action _dispatch; + private Action _dispatch; private void EnsureDispatch() { @@ -38,32 +24,18 @@ private void EnsureDispatch() /// public void InitializeDispatch() { -#if NET || NETCORE var dispatcher = Dispatcher.CurrentDispatcher; if (dispatcher == null) throw new InvalidOperationException("Dispatch is not initialized correctly"); -#endif -#if NETFX_CORE || WINDOWS_UWP - CoreDispatcher dispatcher = new UserControl().Dispatcher; -#endif _dispatch = (action, @async, priority) => { -#if NET || NETCORE if (!@async && dispatcher.CheckAccess()) -#else - if (!@async) -#endif { action(); } else { -#if NET || NETCORE dispatcher.BeginInvoke(action, priority); -#endif -#if NETFX_CORE || WINDOWS_UWP - dispatcher.RunAsync(priority, () => action()); -#endif } }; } @@ -80,13 +52,7 @@ public void BeginOnUiThread(Action action) /// Desired priority /// Action public void BeginOnUiThread( -#if NET || NETCORE - DispatcherPriority -#endif -#if NETFX_CORE || WINDOWS_UWP - CoreDispatcherPriority -#endif - priority, Action action) + DispatcherPriority priority, Action action) { EnsureDispatch(); _dispatch(action, true, priority); @@ -104,13 +70,7 @@ public void OnUiThread(Action action) /// Desired priority /// Action public void OnUiThread( -#if NET || NETCORE - DispatcherPriority -#endif -#if NETFX_CORE || WINDOWS_UWP - CoreDispatcherPriority -#endif - priority, Action action) + DispatcherPriority priority, Action action) { EnsureDispatch(); _dispatch(action, false, priority); diff --git a/src/LogoFX.Client.Core.Platform/uwp/Properties/AssemblyInfo.cs b/src/LogoFX.Client.Core.Platform/uwp/Properties/AssemblyInfo.cs index 561df01..eedfd46 100644 --- a/src/LogoFX.Client.Core.Platform/uwp/Properties/AssemblyInfo.cs +++ b/src/LogoFX.Client.Core.Platform/uwp/Properties/AssemblyInfo.cs @@ -20,6 +20,6 @@ // Build Number // Revision // -[assembly: AssemblyVersion("2.2.5")] -[assembly: AssemblyFileVersion("2.2.5")] +[assembly: AssemblyVersion("2.2.6")] +[assembly: AssemblyFileVersion("2.2.6")] [assembly: ComVisible(false)] diff --git a/src/LogoFX.Client.Core.Specs.Common/LogoFX.Client.Core.Specs.Common.csproj b/src/LogoFX.Client.Core.Specs.Common/LogoFX.Client.Core.Specs.Common.csproj index 94fd7dc..13083a8 100644 --- a/src/LogoFX.Client.Core.Specs.Common/LogoFX.Client.Core.Specs.Common.csproj +++ b/src/LogoFX.Client.Core.Specs.Common/LogoFX.Client.Core.Specs.Common.csproj @@ -1,4 +1,4 @@ - + netstandard2.0 false @@ -11,7 +11,7 @@ 8 - + diff --git a/src/LogoFX.Client.Core.Specs/Dispatcher/Dispatcher.feature.cs b/src/LogoFX.Client.Core.Specs/Dispatcher/Dispatcher.feature.cs deleted file mode 100644 index 56b0c48..0000000 --- a/src/LogoFX.Client.Core.Specs/Dispatcher/Dispatcher.feature.cs +++ /dev/null @@ -1,360 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by SpecFlow (https://www.specflow.org/). -// SpecFlow Version:3.9.0.0 -// SpecFlow Generator Version:3.9.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -#region Designer generated code -#pragma warning disable -namespace LogoFX.Client.Core.Specs.Dispatcher -{ - using TechTalk.SpecFlow; - using System; - using System.Linq; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public partial class DispatcherFeature : object, Xunit.IClassFixture, System.IDisposable - { - - private static TechTalk.SpecFlow.ITestRunner testRunner; - - private string[] _featureTags = ((string[])(null)); - - private Xunit.Abstractions.ITestOutputHelper _testOutputHelper; - -#line 1 "Dispatcher.feature" -#line hidden - - public DispatcherFeature(DispatcherFeature.FixtureData fixtureData, LogoFX_Client_Core_Specs_XUnitAssemblyFixture assemblyFixture, Xunit.Abstractions.ITestOutputHelper testOutputHelper) - { - this._testOutputHelper = testOutputHelper; - this.TestInitialize(); - } - - public static void FeatureSetup() - { - testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Dispatcher", "Dispatcher", "\tIn order to support multi-threaded UI apps\r\n\tAs an app developer\r\n\tI want the fr" + - "amework to synchronize the UI-bound operations", ProgrammingLanguage.CSharp, ((string[])(null))); - testRunner.OnFeatureStart(featureInfo); - } - - public static void FeatureTearDown() - { - testRunner.OnFeatureEnd(); - testRunner = null; - } - - public virtual void TestInitialize() - { - } - - public virtual void TestTearDown() - { - testRunner.OnScenarioEnd(); - } - - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) - { - testRunner.OnScenarioInitialize(scenarioInfo); - testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(_testOutputHelper); - } - - public virtual void ScenarioStart() - { - testRunner.OnScenarioStart(); - } - - public virtual void ScenarioCleanup() - { - testRunner.CollectScenarioErrors(); - } - - public virtual void FeatureBackground() - { -#line 6 -#line hidden -#line 7 - testRunner.Given("The dispatcher is set to test dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden - } - - void System.IDisposable.Dispose() - { - this.TestTearDown(); - } - - [Xunit.SkippableTheoryAttribute(DisplayName="Single property change in regular mode with defined dispatcher should raise notif" + - "ications via dispatcher")] - [Xunit.TraitAttribute("FeatureTitle", "Dispatcher")] - [Xunit.TraitAttribute("Description", "Single property change in regular mode with defined dispatcher should raise notif" + - "ications via dispatcher")] - [Xunit.InlineDataAttribute("TestNameClass", new string[0])] - [Xunit.InlineDataAttribute("TestPropertyInfoClass", new string[0])] - [Xunit.InlineDataAttribute("TestExpressionClass", new string[0])] - public virtual void SinglePropertyChangeInRegularModeWithDefinedDispatcherShouldRaiseNotificationsViaDispatcher(string name, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Name", name); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Single property change in regular mode with defined dispatcher should raise notif" + - "ications via dispatcher", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 9 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 6 -this.FeatureBackground(); -#line hidden -#line 10 - testRunner.When(string.Format("The \'{0}\' is created", name), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 11 - testRunner.And("The number is changed to 5 in regular mode", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 12 - testRunner.Then("The property change notification is raised via the test dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property with defined dispatcher should raise notifications via d" + - "ispatcher")] - [Xunit.TraitAttribute("FeatureTitle", "Dispatcher")] - [Xunit.TraitAttribute("Description", "Changing single property with defined dispatcher should raise notifications via d" + - "ispatcher")] - public virtual void ChangingSinglePropertyWithDefinedDispatcherShouldRaiseNotificationsViaDispatcher() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with defined dispatcher should raise notifications via d" + - "ispatcher", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 20 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 6 -this.FeatureBackground(); -#line hidden -#line 21 - testRunner.When("The \'TestRegularClass\' is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 22 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 23 - testRunner.Then("The property change notification is raised via the test dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Invoking all properties change with defined dispatcher should raise notification " + - "via dispatcher")] - [Xunit.TraitAttribute("FeatureTitle", "Dispatcher")] - [Xunit.TraitAttribute("Description", "Invoking all properties change with defined dispatcher should raise notification " + - "via dispatcher")] - public virtual void InvokingAllPropertiesChangeWithDefinedDispatcherShouldRaiseNotificationViaDispatcher() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Invoking all properties change with defined dispatcher should raise notification " + - "via dispatcher", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 25 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 6 -this.FeatureBackground(); -#line hidden -#line 26 - testRunner.When("The \'TestNameClass\' is created and empty notification is listened to", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 27 - testRunner.And("The all properties change is invoked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 28 - testRunner.Then("The property change notification is raised via the test dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableTheoryAttribute(DisplayName="Single property change in regular mode with overridden dispatcher should raise no" + - "tifications via the overridden dispatcher")] - [Xunit.TraitAttribute("FeatureTitle", "Dispatcher")] - [Xunit.TraitAttribute("Description", "Single property change in regular mode with overridden dispatcher should raise no" + - "tifications via the overridden dispatcher")] - [Xunit.InlineDataAttribute("TestOverridenNameClass", new string[0])] - [Xunit.InlineDataAttribute("TestOverridenPropertyInfoClass", new string[0])] - [Xunit.InlineDataAttribute("TestOverriddenExpressionClass", new string[0])] - public virtual void SinglePropertyChangeInRegularModeWithOverriddenDispatcherShouldRaiseNotificationsViaTheOverriddenDispatcher(string name, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Name", name); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Single property change in regular mode with overridden dispatcher should raise no" + - "tifications via the overridden dispatcher", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 30 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 6 -this.FeatureBackground(); -#line hidden -#line 31 - testRunner.Given("The dispatcher is set to overridden dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 32 - testRunner.When(string.Format("The \'{0}\' is created with dispatcher", name), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 33 - testRunner.And("The number is changed to 5 in regular mode", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 34 - testRunner.Then("The property change notification is raised via the overridden dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property with overridden dispatcher should raise notifications vi" + - "a the overridden dispatcher")] - [Xunit.TraitAttribute("FeatureTitle", "Dispatcher")] - [Xunit.TraitAttribute("Description", "Changing single property with overridden dispatcher should raise notifications vi" + - "a the overridden dispatcher")] - public virtual void ChangingSinglePropertyWithOverriddenDispatcherShouldRaiseNotificationsViaTheOverriddenDispatcher() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with overridden dispatcher should raise notifications vi" + - "a the overridden dispatcher", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 42 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 6 -this.FeatureBackground(); -#line hidden -#line 43 - testRunner.Given("The dispatcher is set to overridden dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 44 - testRunner.When("The \'TestOverriddenDispatcherClass\' is created with dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 45 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 46 - testRunner.Then("The property change notification is raised via the overridden dispatcher", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class FixtureData : System.IDisposable - { - - public FixtureData() - { - DispatcherFeature.FeatureSetup(); - } - - void System.IDisposable.Dispose() - { - DispatcherFeature.FeatureTearDown(); - } - } - } -} -#pragma warning restore -#endregion diff --git a/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj b/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj index cfd59fe..16deff4 100644 --- a/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj +++ b/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj @@ -1,17 +1,17 @@ - + net6.0 false false - - - - + + + + - - + + all diff --git a/src/LogoFX.Client.Core.Specs/Notification/Notification.feature.cs b/src/LogoFX.Client.Core.Specs/Notification/Notification.feature.cs deleted file mode 100644 index f7be2c6..0000000 --- a/src/LogoFX.Client.Core.Specs/Notification/Notification.feature.cs +++ /dev/null @@ -1,414 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by SpecFlow (https://www.specflow.org/). -// SpecFlow Version:3.9.0.0 -// SpecFlow Generator Version:3.9.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -#region Designer generated code -#pragma warning disable -namespace LogoFX.Client.Core.Specs.Notification -{ - using TechTalk.SpecFlow; - using System; - using System.Linq; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public partial class NotificationFeature : object, Xunit.IClassFixture, System.IDisposable - { - - private static TechTalk.SpecFlow.ITestRunner testRunner; - - private string[] _featureTags = ((string[])(null)); - - private Xunit.Abstractions.ITestOutputHelper _testOutputHelper; - -#line 1 "Notification.feature" -#line hidden - - public NotificationFeature(NotificationFeature.FixtureData fixtureData, LogoFX_Client_Core_Specs_XUnitAssemblyFixture assemblyFixture, Xunit.Abstractions.ITestOutputHelper testOutputHelper) - { - this._testOutputHelper = testOutputHelper; - this.TestInitialize(); - } - - public static void FeatureSetup() - { - testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Notification", "Notification", "\tIn order to have reactive user interface\r\n\tAs an app developer\r\n\tI want the fram" + - "ework to handle property notifications properly", ProgrammingLanguage.CSharp, ((string[])(null))); - testRunner.OnFeatureStart(featureInfo); - } - - public static void FeatureTearDown() - { - testRunner.OnFeatureEnd(); - testRunner = null; - } - - public virtual void TestInitialize() - { - } - - public virtual void TestTearDown() - { - testRunner.OnScenarioEnd(); - } - - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) - { - testRunner.OnScenarioInitialize(scenarioInfo); - testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(_testOutputHelper); - } - - public virtual void ScenarioStart() - { - testRunner.OnScenarioStart(); - } - - public virtual void ScenarioCleanup() - { - testRunner.CollectScenarioErrors(); - } - - void System.IDisposable.Dispose() - { - this.TestTearDown(); - } - - [Xunit.SkippableTheoryAttribute(DisplayName="Single property change in regular mode should raise property change notification")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Single property change in regular mode should raise property change notification")] - [Xunit.InlineDataAttribute("TestNameClass", "true", new string[0])] - [Xunit.InlineDataAttribute("TestPropertyInfoClass", "true", new string[0])] - [Xunit.InlineDataAttribute("TestExpressionClass", "true", new string[0])] - public virtual void SinglePropertyChangeInRegularModeShouldRaisePropertyChangeNotification(string name, string result, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Name", name); - argumentsOfScenario.Add("Result", result); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Single property change in regular mode should raise property change notification", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 6 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 7 - testRunner.When(string.Format("The \'{0}\' is created", name), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 8 - testRunner.And("The number is changed to 5 in regular mode", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 9 - testRunner.Then(string.Format("The property change notification result is \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableTheoryAttribute(DisplayName="Single property change in silent mode should not raise property change notificati" + - "on")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Single property change in silent mode should not raise property change notificati" + - "on")] - [Xunit.InlineDataAttribute("TestNameClass", "false", new string[0])] - [Xunit.InlineDataAttribute("TestPropertyInfoClass", "false", new string[0])] - [Xunit.InlineDataAttribute("TestExpressionClass", "false", new string[0])] - public virtual void SinglePropertyChangeInSilentModeShouldNotRaisePropertyChangeNotification(string name, string result, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Name", name); - argumentsOfScenario.Add("Result", result); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Single property change in silent mode should not raise property change notificati" + - "on", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 17 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 18 - testRunner.When(string.Format("The \'{0}\' is created", name), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 19 - testRunner.And("The number is changed to 5 in silent mode", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 20 - testRunner.Then(string.Format("The property change notification result is \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Invoking all properties change should raise empty property change notification")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Invoking all properties change should raise empty property change notification")] - public virtual void InvokingAllPropertiesChangeShouldRaiseEmptyPropertyChangeNotification() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Invoking all properties change should raise empty property change notification", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 28 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 29 - testRunner.When("The \'TestNameClass\' is created and empty notification is listened to", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 30 - testRunner.And("The all properties change is invoked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 31 - testRunner.Then("The property change notification result is \'true\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property via SetProperty API should raise property change notific" + - "ation")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Changing single property via SetProperty API should raise property change notific" + - "ation")] - public virtual void ChangingSinglePropertyViaSetPropertyAPIShouldRaisePropertyChangeNotification() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property via SetProperty API should raise property change notific" + - "ation", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 33 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 34 - testRunner.When("The \'TestRegularClass\' is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 35 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 36 - testRunner.Then("The property change notification result is \'true\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property with multiple notifications via SetProperty API should r" + - "aise all property change notifications")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Changing single property with multiple notifications via SetProperty API should r" + - "aise all property change notifications")] - public virtual void ChangingSinglePropertyWithMultipleNotificationsViaSetPropertyAPIShouldRaiseAllPropertyChangeNotifications() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with multiple notifications via SetProperty API should r" + - "aise all property change notifications", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 38 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 39 - testRunner.When("The \'TestMultipleClass\' is created and all notifications are listened to", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 40 - testRunner.And("The quantity is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 41 - testRunner.Then("The property change notification result is \'true\' for all notifications", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property with before value update logic via SetProperty API shoul" + - "d invoke this logic before property value changes")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Changing single property with before value update logic via SetProperty API shoul" + - "d invoke this logic before property value changes")] - public virtual void ChangingSinglePropertyWithBeforeValueUpdateLogicViaSetPropertyAPIShouldInvokeThisLogicBeforePropertyValueChanges() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with before value update logic via SetProperty API shoul" + - "d invoke this logic before property value changes", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 43 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 44 - testRunner.When("The \'TestBeforeValueUpdateClass\' is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 45 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 46 - testRunner.Then("The before value update logic is invoked before the value update", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property with after value update logic via SetProperty API should" + - " invoke this logic after property value changes")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Changing single property with after value update logic via SetProperty API should" + - " invoke this logic after property value changes")] - public virtual void ChangingSinglePropertyWithAfterValueUpdateLogicViaSetPropertyAPIShouldInvokeThisLogicAfterPropertyValueChanges() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with after value update logic via SetProperty API should" + - " invoke this logic after property value changes", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 48 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 49 - testRunner.When("The \'TestAfterValueUpdateClass\' is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 50 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 51 - testRunner.Then("The after value update logic is invoked after the value update", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class FixtureData : System.IDisposable - { - - public FixtureData() - { - NotificationFeature.FeatureSetup(); - } - - void System.IDisposable.Dispose() - { - NotificationFeature.FeatureTearDown(); - } - } - } -} -#pragma warning restore -#endregion diff --git a/src/LogoFX.Client.Core.Specs/Semaphore/Semaphore.feature.cs b/src/LogoFX.Client.Core.Specs/Semaphore/Semaphore.feature.cs deleted file mode 100644 index 568def1..0000000 --- a/src/LogoFX.Client.Core.Specs/Semaphore/Semaphore.feature.cs +++ /dev/null @@ -1,337 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by SpecFlow (https://www.specflow.org/). -// SpecFlow Version:3.9.0.0 -// SpecFlow Generator Version:3.9.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -#region Designer generated code -#pragma warning disable -namespace LogoFX.Client.Core.Specs.Semaphore -{ - using TechTalk.SpecFlow; - using System; - using System.Linq; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public partial class SemaphoreFeature : object, Xunit.IClassFixture, System.IDisposable - { - - private static TechTalk.SpecFlow.ITestRunner testRunner; - - private string[] _featureTags = ((string[])(null)); - - private Xunit.Abstractions.ITestOutputHelper _testOutputHelper; - -#line 1 "Semaphore.feature" -#line hidden - - public SemaphoreFeature(SemaphoreFeature.FixtureData fixtureData, LogoFX_Client_Core_Specs_XUnitAssemblyFixture assemblyFixture, Xunit.Abstractions.ITestOutputHelper testOutputHelper) - { - this._testOutputHelper = testOutputHelper; - this.TestInitialize(); - } - - public static void FeatureSetup() - { - testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Semaphore", "Semaphore", "\tIn order to be able to develop concurrent apps\r\n\tAs an app developer\r\n\tI want th" + - "e framework to provide semaphore functionality", ProgrammingLanguage.CSharp, ((string[])(null))); - testRunner.OnFeatureStart(featureInfo); - } - - public static void FeatureTearDown() - { - testRunner.OnFeatureEnd(); - testRunner = null; - } - - public virtual void TestInitialize() - { - } - - public virtual void TestTearDown() - { - testRunner.OnScenarioEnd(); - } - - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) - { - testRunner.OnScenarioInitialize(scenarioInfo); - testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(_testOutputHelper); - } - - public virtual void ScenarioStart() - { - testRunner.OnScenarioStart(); - } - - public virtual void ScenarioCleanup() - { - testRunner.CollectScenarioErrors(); - } - - void System.IDisposable.Dispose() - { - this.TestTearDown(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Accessing semaphore after is has been raised once should result in not locked sta" + - "te")] - [Xunit.TraitAttribute("FeatureTitle", "Semaphore")] - [Xunit.TraitAttribute("Description", "Accessing semaphore after is has been raised once should result in not locked sta" + - "te")] - public virtual void AccessingSemaphoreAfterIsHasBeenRaisedOnceShouldResultInNotLockedState() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Accessing semaphore after is has been raised once should result in not locked sta" + - "te", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 6 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 7 - testRunner.When("The semaphore is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 8 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 9 - testRunner.Then("The semaphore should not be locked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Accessing semaphore after is has been raised twice should result in locked state")] - [Xunit.TraitAttribute("FeatureTitle", "Semaphore")] - [Xunit.TraitAttribute("Description", "Accessing semaphore after is has been raised twice should result in locked state")] - public virtual void AccessingSemaphoreAfterIsHasBeenRaisedTwiceShouldResultInLockedState() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Accessing semaphore after is has been raised twice should result in locked state", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 11 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 12 - testRunner.When("The semaphore is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 13 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 14 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 15 - testRunner.Then("The semaphore should be locked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Accessing semaphore after is has been raised three times should result in locked " + - "state")] - [Xunit.TraitAttribute("FeatureTitle", "Semaphore")] - [Xunit.TraitAttribute("Description", "Accessing semaphore after is has been raised three times should result in locked " + - "state")] - public virtual void AccessingSemaphoreAfterIsHasBeenRaisedThreeTimesShouldResultInLockedState() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Accessing semaphore after is has been raised three times should result in locked " + - "state", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 17 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 18 - testRunner.When("The semaphore is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 19 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 20 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 21 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 22 - testRunner.Then("The semaphore should be locked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Accessing semaphore after is has been raised twice and disposed should result in " + - "not locked state")] - [Xunit.TraitAttribute("FeatureTitle", "Semaphore")] - [Xunit.TraitAttribute("Description", "Accessing semaphore after is has been raised twice and disposed should result in " + - "not locked state")] - public virtual void AccessingSemaphoreAfterIsHasBeenRaisedTwiceAndDisposedShouldResultInNotLockedState() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Accessing semaphore after is has been raised twice and disposed should result in " + - "not locked state", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 24 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 25 - testRunner.When("The semaphore is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 26 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 27 - testRunner.And("The semaphore is raised and disposed", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 28 - testRunner.Then("The semaphore should not be locked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Accessing semaphore after is has been raised three times and disposed should resu" + - "lt in locked state")] - [Xunit.TraitAttribute("FeatureTitle", "Semaphore")] - [Xunit.TraitAttribute("Description", "Accessing semaphore after is has been raised three times and disposed should resu" + - "lt in locked state")] - public virtual void AccessingSemaphoreAfterIsHasBeenRaisedThreeTimesAndDisposedShouldResultInLockedState() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Accessing semaphore after is has been raised three times and disposed should resu" + - "lt in locked state", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 30 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 31 - testRunner.When("The semaphore is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 32 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 33 - testRunner.And("The semaphore is raised", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 34 - testRunner.And("The semaphore is raised and disposed", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 35 - testRunner.Then("The semaphore should be locked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class FixtureData : System.IDisposable - { - - public FixtureData() - { - SemaphoreFeature.FeatureSetup(); - } - - void System.IDisposable.Dispose() - { - SemaphoreFeature.FeatureTearDown(); - } - } - } -} -#pragma warning restore -#endregion diff --git a/src/LogoFX.Client.Core/LogoFX.Client.Core.csproj b/src/LogoFX.Client.Core/LogoFX.Client.Core.csproj index 7cccf8a..c81f379 100644 --- a/src/LogoFX.Client.Core/LogoFX.Client.Core.csproj +++ b/src/LogoFX.Client.Core/LogoFX.Client.Core.csproj @@ -2,7 +2,7 @@ netstandard2.0 false - 2.2.5 + 2.2.6 ..\Bin\netstandard\Release diff --git a/src/LogoFX.Client.Modularity/LogoFX.Client.Modularity.csproj b/src/LogoFX.Client.Modularity/LogoFX.Client.Modularity.csproj index 87f4a00..286e428 100644 --- a/src/LogoFX.Client.Modularity/LogoFX.Client.Modularity.csproj +++ b/src/LogoFX.Client.Modularity/LogoFX.Client.Modularity.csproj @@ -2,7 +2,7 @@ netstandard2.0 false - 2.2.5 + 2.2.6 ..\Bin\netstandard\Release @@ -12,6 +12,6 @@ true - + \ No newline at end of file diff --git a/src/LogoFX.Client.Theming.Platform/net/LogoFX.Client.Theming.Platform.NET.csproj b/src/LogoFX.Client.Theming.Platform/net/LogoFX.Client.Theming.Platform.NET.csproj index 938735c..a948d3b 100644 --- a/src/LogoFX.Client.Theming.Platform/net/LogoFX.Client.Theming.Platform.NET.csproj +++ b/src/LogoFX.Client.Theming.Platform/net/LogoFX.Client.Theming.Platform.NET.csproj @@ -5,7 +5,7 @@ true LogoFX.Client.Theming.Platform LogoFX.Client.Theming - 2.2.5 + 2.2.6 ..\..\bin\net\Release diff --git a/src/LogoFX.Client.Theming.Platform/netcore/LogoFX.Client.Theming.Platform.NETCore.csproj b/src/LogoFX.Client.Theming.Platform/netcore/LogoFX.Client.Theming.Platform.NETCore.csproj index 13ea0ad..d7037ca 100644 --- a/src/LogoFX.Client.Theming.Platform/netcore/LogoFX.Client.Theming.Platform.NETCore.csproj +++ b/src/LogoFX.Client.Theming.Platform/netcore/LogoFX.Client.Theming.Platform.NETCore.csproj @@ -5,7 +5,7 @@ true LogoFX.Client.Theming.Platform LogoFX.Client.Theming - 2.2.5 + 2.2.6 ..\..\bin\netcore\Release diff --git a/src/LogoFX.Client.Theming.Platform/netframework/Properties/AssemblyInfo.cs b/src/LogoFX.Client.Theming.Platform/netframework/Properties/AssemblyInfo.cs index e07ff6e..cc03588 100644 --- a/src/LogoFX.Client.Theming.Platform/netframework/Properties/AssemblyInfo.cs +++ b/src/LogoFX.Client.Theming.Platform/netframework/Properties/AssemblyInfo.cs @@ -44,5 +44,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("2.2.5")] -[assembly: AssemblyFileVersion("2.2.5")] +[assembly: AssemblyVersion("2.2.6")] +[assembly: AssemblyFileVersion("2.2.6")] diff --git a/src/LogoFX.Client.Theming/LogoFX.Client.Theming.csproj b/src/LogoFX.Client.Theming/LogoFX.Client.Theming.csproj index 13d94f0..5928083 100644 --- a/src/LogoFX.Client.Theming/LogoFX.Client.Theming.csproj +++ b/src/LogoFX.Client.Theming/LogoFX.Client.Theming.csproj @@ -2,7 +2,7 @@ netstandard2.0 false - 2.2.5 + 2.2.6 ..\bin\netstandard\Release diff --git a/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj b/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj index 872a55d..993e718 100644 --- a/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj +++ b/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj @@ -1,4 +1,4 @@ - + netstandard2.0 false @@ -11,7 +11,7 @@ 8 - - + + \ No newline at end of file diff --git a/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj b/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj index 9dd66d3..77f2d0f 100644 --- a/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj +++ b/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj @@ -8,13 +8,13 @@ false - - - - + + + + - - + + all diff --git a/src/LogoFX.Core.Specs/Notification.feature.cs b/src/LogoFX.Core.Specs/Notification.feature.cs deleted file mode 100644 index fc1be02..0000000 --- a/src/LogoFX.Core.Specs/Notification.feature.cs +++ /dev/null @@ -1,326 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by SpecFlow (https://www.specflow.org/). -// SpecFlow Version:3.9.0.0 -// SpecFlow Generator Version:3.9.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -#region Designer generated code -#pragma warning disable -namespace LogoFX.Core.Specs -{ - using TechTalk.SpecFlow; - using System; - using System.Linq; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public partial class NotificationFeature : object, Xunit.IClassFixture, System.IDisposable - { - - private static TechTalk.SpecFlow.ITestRunner testRunner; - - private string[] _featureTags = ((string[])(null)); - - private Xunit.Abstractions.ITestOutputHelper _testOutputHelper; - -#line 1 "Notification.feature" -#line hidden - - public NotificationFeature(NotificationFeature.FixtureData fixtureData, LogoFX_Core_Specs_XUnitAssemblyFixture assemblyFixture, Xunit.Abstractions.ITestOutputHelper testOutputHelper) - { - this._testOutputHelper = testOutputHelper; - this.TestInitialize(); - } - - public static void FeatureSetup() - { - testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "Notification", "\tIn order to implement different app scenarios\r\n\tAs an app developer\r\n\tI want the" + - " framework to handle property notifications properly", ProgrammingLanguage.CSharp, ((string[])(null))); - testRunner.OnFeatureStart(featureInfo); - } - - public static void FeatureTearDown() - { - testRunner.OnFeatureEnd(); - testRunner = null; - } - - public virtual void TestInitialize() - { - } - - public virtual void TestTearDown() - { - testRunner.OnScenarioEnd(); - } - - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) - { - testRunner.OnScenarioInitialize(scenarioInfo); - testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(_testOutputHelper); - } - - public virtual void ScenarioStart() - { - testRunner.OnScenarioStart(); - } - - public virtual void ScenarioCleanup() - { - testRunner.CollectScenarioErrors(); - } - - void System.IDisposable.Dispose() - { - this.TestTearDown(); - } - - [Xunit.SkippableTheoryAttribute(DisplayName="Single property change in regular mode should raise property change notification")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Single property change in regular mode should raise property change notification")] - [Xunit.InlineDataAttribute("TestRegularClass", "true", new string[0])] - public virtual void SinglePropertyChangeInRegularModeShouldRaisePropertyChangeNotification(string name, string result, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Name", name); - argumentsOfScenario.Add("Result", result); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Single property change in regular mode should raise property change notification", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 6 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 7 - testRunner.When(string.Format("The \'{0}\' is created", name), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 8 - testRunner.And("The number is changed to 5 in regular mode", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 9 - testRunner.Then(string.Format("The property change notification result is \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableTheoryAttribute(DisplayName="Single property change in silent mode should not raise property change notificati" + - "on")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Single property change in silent mode should not raise property change notificati" + - "on")] - [Xunit.InlineDataAttribute("TestNameClass", "false", new string[0])] - [Xunit.InlineDataAttribute("TestExpressionClass", "false", new string[0])] - public virtual void SinglePropertyChangeInSilentModeShouldNotRaisePropertyChangeNotification(string name, string result, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Name", name); - argumentsOfScenario.Add("Result", result); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Single property change in silent mode should not raise property change notificati" + - "on", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 15 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 16 - testRunner.When(string.Format("The \'{0}\' is created", name), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 17 - testRunner.And("The number is changed to 5 in silent mode", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 18 - testRunner.Then(string.Format("The property change notification result is \'{0}\'", result), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property via SetProperty API should raise property change notific" + - "ation")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Changing single property via SetProperty API should raise property change notific" + - "ation")] - public virtual void ChangingSinglePropertyViaSetPropertyAPIShouldRaisePropertyChangeNotification() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property via SetProperty API should raise property change notific" + - "ation", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 25 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 26 - testRunner.When("The \'TestRegularClass\' is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 27 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 28 - testRunner.Then("The property change notification result is \'true\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property with before value update logic via SetProperty API shoul" + - "d invoke this logic before property value changes")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Changing single property with before value update logic via SetProperty API shoul" + - "d invoke this logic before property value changes")] - public virtual void ChangingSinglePropertyWithBeforeValueUpdateLogicViaSetPropertyAPIShouldInvokeThisLogicBeforePropertyValueChanges() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with before value update logic via SetProperty API shoul" + - "d invoke this logic before property value changes", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 30 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 31 - testRunner.When("The \'TestBeforeValueUpdateClass\' is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 32 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 33 - testRunner.Then("The before value update logic is invoked before the value update", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Changing single property with after value update logic via SetProperty API should" + - " invoke this logic after property value changes")] - [Xunit.TraitAttribute("FeatureTitle", "Notification")] - [Xunit.TraitAttribute("Description", "Changing single property with after value update logic via SetProperty API should" + - " invoke this logic after property value changes")] - public virtual void ChangingSinglePropertyWithAfterValueUpdateLogicViaSetPropertyAPIShouldInvokeThisLogicAfterPropertyValueChanges() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Changing single property with after value update logic via SetProperty API should" + - " invoke this logic after property value changes", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 35 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 36 - testRunner.When("The \'TestAfterValueUpdateClass\' is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 37 - testRunner.And("The number is changed to 5 via SetProperty API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 38 - testRunner.Then("The after value update logic is invoked after the value update", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class FixtureData : System.IDisposable - { - - public FixtureData() - { - NotificationFeature.FeatureSetup(); - } - - void System.IDisposable.Dispose() - { - NotificationFeature.FeatureTearDown(); - } - } - } -} -#pragma warning restore -#endregion diff --git a/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj b/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj index e4d5b80..f9f0165 100644 --- a/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj +++ b/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj @@ -5,8 +5,8 @@ false - - + + all diff --git a/src/LogoFX.Core.sln b/src/LogoFX.Core.sln index b27b447..7fd30b0 100644 --- a/src/LogoFX.Core.sln +++ b/src/LogoFX.Core.sln @@ -29,8 +29,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Client.Core.Platform EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogoFX.Client.Core.Platform.NETFramework", "LogoFX.Client.Core.Platform\netframework\LogoFX.Client.Core.Platform.NETFramework.csproj", "{27C2028A-1934-447F-953D-A6E2CB2851E1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogoFX.Client.Core.Platform.UWP", "LogoFX.Client.Core.Platform\uwp\LogoFX.Client.Core.Platform.UWP.csproj", "{11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Client.Core.Platform.NETCore.Specs", "LogoFX.Client.Core.Platform.NETCore.Specs\LogoFX.Client.Core.Platform.NETCore.Specs.csproj", "{D86C137A-5F35-426A-B524-B1B77475079E}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Client.Core.Specs", "LogoFX.Client.Core.Specs\LogoFX.Client.Core.Specs.csproj", "{DB30AC69-D8F7-4823-9860-D3640A2FFFDE}" @@ -53,7 +51,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Client.Core.Specs.Co EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Core.Specs", "LogoFX.Core.Specs\LogoFX.Core.Specs.csproj", "{DF5B56B9-783A-457F-B8E1-EEA9EE033E91}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogoFX.Core.Specs.Common", "LogoFX.Core.Specs.Common\LogoFX.Core.Specs.Common.csproj", "{C2C89A94-96B9-43DA-841C-3F78ED059DDF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Core.Specs.Common", "LogoFX.Core.Specs.Common\LogoFX.Core.Specs.Common.csproj", "{C2C89A94-96B9-43DA-841C-3F78ED059DDF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -243,22 +241,6 @@ Global {27C2028A-1934-447F-953D-A6E2CB2851E1}.Release|x64.Build.0 = Release|Any CPU {27C2028A-1934-447F-953D-A6E2CB2851E1}.Release|x86.ActiveCfg = Release|Any CPU {27C2028A-1934-447F-953D-A6E2CB2851E1}.Release|x86.Build.0 = Release|Any CPU - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|ARM.ActiveCfg = Debug|ARM - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|ARM.Build.0 = Debug|ARM - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|x64.ActiveCfg = Debug|x64 - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|x64.Build.0 = Debug|x64 - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|x86.ActiveCfg = Debug|x86 - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Debug|x86.Build.0 = Debug|x86 - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|Any CPU.Build.0 = Release|Any CPU - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|ARM.ActiveCfg = Release|ARM - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|ARM.Build.0 = Release|ARM - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|x64.ActiveCfg = Release|x64 - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|x64.Build.0 = Release|x64 - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|x86.ActiveCfg = Release|x86 - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E}.Release|x86.Build.0 = Release|x86 {D86C137A-5F35-426A-B524-B1B77475079E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D86C137A-5F35-426A-B524-B1B77475079E}.Debug|Any CPU.Build.0 = Debug|Any CPU {D86C137A-5F35-426A-B524-B1B77475079E}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -435,7 +417,6 @@ Global {72273E62-3C6E-4E51-A8A8-E8E36BC35D59} = {F555D153-CB40-4452-B5E4-E9731566272E} {8B8AF219-8F81-49D1-8273-9572DD2A534D} = {F555D153-CB40-4452-B5E4-E9731566272E} {27C2028A-1934-447F-953D-A6E2CB2851E1} = {F555D153-CB40-4452-B5E4-E9731566272E} - {11FF7F23-9E17-48A8-9F8F-C3C65E4F7C7E} = {F555D153-CB40-4452-B5E4-E9731566272E} {D86C137A-5F35-426A-B524-B1B77475079E} = {F555D153-CB40-4452-B5E4-E9731566272E} {DB30AC69-D8F7-4823-9860-D3640A2FFFDE} = {F555D153-CB40-4452-B5E4-E9731566272E} {8D007164-EF51-440C-87DA-B8FAB2D6EB12} = {AF1E25E6-1B96-45E1-ABD5-A55169DC3497} diff --git a/src/LogoFX.Core/LogoFX.Core.csproj b/src/LogoFX.Core/LogoFX.Core.csproj index c5d8bac..7ddb676 100644 --- a/src/LogoFX.Core/LogoFX.Core.csproj +++ b/src/LogoFX.Core/LogoFX.Core.csproj @@ -2,7 +2,7 @@ netstandard2.0 false - 2.2.5 + 2.2.6 Gennady Verdel, David Kossoglyad, Vlad Spivak, Dmitry Bublik LogoFX LogoFX Core assemblies containing collections and weak objects implementations. diff --git a/src/LogoFX.Practices.IoC.Modularity/LogoFX.Practices.IoC.Modularity.csproj b/src/LogoFX.Practices.IoC.Modularity/LogoFX.Practices.IoC.Modularity.csproj index 61a6cf6..e42c2ba 100644 --- a/src/LogoFX.Practices.IoC.Modularity/LogoFX.Practices.IoC.Modularity.csproj +++ b/src/LogoFX.Practices.IoC.Modularity/LogoFX.Practices.IoC.Modularity.csproj @@ -2,7 +2,7 @@ netstandard2.0 false - 2.2.5 + 2.2.6 ..\Bin\netstandard\Release @@ -12,7 +12,7 @@ true - + diff --git a/src/LogoFX.Practices.IoC.Specs/Extended Simple Container.feature.cs b/src/LogoFX.Practices.IoC.Specs/Extended Simple Container.feature.cs deleted file mode 100644 index d9287be..0000000 --- a/src/LogoFX.Practices.IoC.Specs/Extended Simple Container.feature.cs +++ /dev/null @@ -1,287 +0,0 @@ -// ------------------------------------------------------------------------------ -// -// This code was generated by SpecFlow (https://www.specflow.org/). -// SpecFlow Version:3.9.0.0 -// SpecFlow Generator Version:3.9.0.0 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -// ------------------------------------------------------------------------------ -#region Designer generated code -#pragma warning disable -namespace LogoFX.Practices.IoC.Specs -{ - using TechTalk.SpecFlow; - using System; - using System.Linq; - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public partial class ExtendedSimpleContainerFeature : object, Xunit.IClassFixture, System.IDisposable - { - - private static TechTalk.SpecFlow.ITestRunner testRunner; - - private string[] _featureTags = ((string[])(null)); - - private Xunit.Abstractions.ITestOutputHelper _testOutputHelper; - -#line 1 "Extended Simple Container.feature" -#line hidden - - public ExtendedSimpleContainerFeature(ExtendedSimpleContainerFeature.FixtureData fixtureData, LogoFX_Practices_IoC_Specs_XUnitAssemblyFixture assemblyFixture, Xunit.Abstractions.ITestOutputHelper testOutputHelper) - { - this._testOutputHelper = testOutputHelper; - this.TestInitialize(); - } - - public static void FeatureSetup() - { - testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "Extended Simple Container", "\tIn order to write robust flexible apps\r\n\tAs an app developer\r\n\tI want to be able" + - " to use inversion of control container", ProgrammingLanguage.CSharp, ((string[])(null))); - testRunner.OnFeatureStart(featureInfo); - } - - public static void FeatureTearDown() - { - testRunner.OnFeatureEnd(); - testRunner = null; - } - - public virtual void TestInitialize() - { - } - - public virtual void TestTearDown() - { - testRunner.OnScenarioEnd(); - } - - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) - { - testRunner.OnScenarioInitialize(scenarioInfo); - testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(_testOutputHelper); - } - - public virtual void ScenarioStart() - { - testRunner.OnScenarioStart(); - } - - public virtual void ScenarioCleanup() - { - testRunner.CollectScenarioErrors(); - } - - void System.IDisposable.Dispose() - { - this.TestTearDown(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Resolving a dependency that has been registered with a named parameter should yie" + - "ld correct value")] - [Xunit.TraitAttribute("FeatureTitle", "Extended Simple Container")] - [Xunit.TraitAttribute("Description", "Resolving a dependency that has been registered with a named parameter should yie" + - "ld correct value")] - public virtual void ResolvingADependencyThatHasBeenRegisteredWithANamedParameterShouldYieldCorrectValue() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Resolving a dependency that has been registered with a named parameter should yie" + - "ld correct value", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 6 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 7 - testRunner.When("The container is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 8 - testRunner.And("The dependency with named parameter is registered in transient fashion", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 9 - testRunner.And("The dependency is resolved with value \'5\' for named parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 10 - testRunner.Then("Actual value of parameter inside the named dependency is \'5\'", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Resolving a dependency that has been registered with a typed parameter should yie" + - "ld correct value")] - [Xunit.TraitAttribute("FeatureTitle", "Extended Simple Container")] - [Xunit.TraitAttribute("Description", "Resolving a dependency that has been registered with a typed parameter should yie" + - "ld correct value")] - public virtual void ResolvingADependencyThatHasBeenRegisteredWithATypedParameterShouldYieldCorrectValue() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Resolving a dependency that has been registered with a typed parameter should yie" + - "ld correct value", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 12 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 13 - testRunner.When("The container is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 14 - testRunner.And("The dependency with typed parameter is registered in transient fashion", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 15 - testRunner.And("The dependency is resolved with value 6 for typed parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 16 - testRunner.Then("Actual value of parameter inside the typed dependency is 6", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Resolving multiple same type dependencies should yield the whole collection")] - [Xunit.TraitAttribute("FeatureTitle", "Extended Simple Container")] - [Xunit.TraitAttribute("Description", "Resolving multiple same type dependencies should yield the whole collection")] - public virtual void ResolvingMultipleSameTypeDependenciesShouldYieldTheWholeCollection() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Resolving multiple same type dependencies should yield the whole collection", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 18 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 19 - testRunner.When("The container is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 20 - testRunner.And("The same type dependency is registered in instance fashion using first instance", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 21 - testRunner.And("The same type dependency is registered in instance fashion using second instance", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 22 - testRunner.And("The collection of dependencies is resolved", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 23 - testRunner.Then("The collection of dependencies is equivalent to the collection of instances", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [Xunit.SkippableFactAttribute(DisplayName="Resolving a dependency that has been registered with a typed parameter in singlet" + - "on fashion multiple times should yield same value")] - [Xunit.TraitAttribute("FeatureTitle", "Extended Simple Container")] - [Xunit.TraitAttribute("Description", "Resolving a dependency that has been registered with a typed parameter in singlet" + - "on fashion multiple times should yield same value")] - public virtual void ResolvingADependencyThatHasBeenRegisteredWithATypedParameterInSingletonFashionMultipleTimesShouldYieldSameValue() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Resolving a dependency that has been registered with a typed parameter in singlet" + - "on fashion multiple times should yield same value", null, tagsOfScenario, argumentsOfScenario, this._featureTags); -#line 25 -this.ScenarioInitialize(scenarioInfo); -#line hidden - bool isScenarioIgnored = default(bool); - bool isFeatureIgnored = default(bool); - if ((tagsOfScenario != null)) - { - isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((this._featureTags != null)) - { - isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); - } - if ((isScenarioIgnored || isFeatureIgnored)) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 26 - testRunner.When("The container is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 27 - testRunner.And("The dependency with named parameter is registered in singleton fashion", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 28 - testRunner.Then("Multiple dependency resolutions yield same value", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] - [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class FixtureData : System.IDisposable - { - - public FixtureData() - { - ExtendedSimpleContainerFeature.FeatureSetup(); - } - - void System.IDisposable.Dispose() - { - ExtendedSimpleContainerFeature.FeatureTearDown(); - } - } - } -} -#pragma warning restore -#endregion diff --git a/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj b/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj index 9c51029..7a46210 100644 --- a/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj +++ b/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj @@ -5,13 +5,13 @@ false - - - - + + + + - - + + all diff --git a/src/LogoFX.Practices.IoC/LogoFX.Practices.IoC.csproj b/src/LogoFX.Practices.IoC/LogoFX.Practices.IoC.csproj index 6b98d37..88acab4 100644 --- a/src/LogoFX.Practices.IoC/LogoFX.Practices.IoC.csproj +++ b/src/LogoFX.Practices.IoC/LogoFX.Practices.IoC.csproj @@ -2,7 +2,7 @@ netstandard2.0 false - 2.2.5 + 2.2.6 ..\Bin\netstandard\Release