diff --git a/tests/Wpf/Prism.Container.Wpf.Shared/Fixtures/Ioc/ContainerProviderExtensionFixture.cs b/tests/Wpf/Prism.Container.Wpf.Shared/Fixtures/Ioc/ContainerProviderExtensionFixture.cs index 65f34f62f1..849ef0fe25 100644 --- a/tests/Wpf/Prism.Container.Wpf.Shared/Fixtures/Ioc/ContainerProviderExtensionFixture.cs +++ b/tests/Wpf/Prism.Container.Wpf.Shared/Fixtures/Ioc/ContainerProviderExtensionFixture.cs @@ -13,15 +13,8 @@ namespace Prism.Container.Wpf.Tests.Ioc { - public class ContainerProviderExtensionFixture + public class ContainerProviderExtensionFixture : IDisposable { - public ContainerProviderExtensionFixture() - { - Initalize(); - } - - private static bool _initialized; - private static readonly MockService _unnamedService = new MockService(); private static readonly IReadOnlyDictionary _namedServiceDictionary = new Dictionary { @@ -29,27 +22,22 @@ public ContainerProviderExtensionFixture() ["B"] = new MockService(), }; - private void Initalize() + public ContainerProviderExtensionFixture() { - if (_initialized) - { - return; - } - ContainerLocator.ResetContainer(); -#if DryIoc - var container = new global::DryIoc.Container(global::DryIoc.Rules.Default.WithAutoConcreteTypeResolution()); - ContainerLocator.SetContainerExtension(() => new Prism.DryIoc.DryIocContainerExtension(container)); -#elif Unity - ContainerLocator.SetContainerExtension(() => new Prism.Unity.UnityContainerExtension()); -#endif - ContainerLocator.Current.RegisterInstance(_unnamedService); + ContainerLocator.SetContainerExtension(() => ContainerHelper.CreateContainerExtension()); + var containerExtension = ContainerLocator.Current; + containerExtension.RegisterInstance(_unnamedService); foreach (var kvp in _namedServiceDictionary) { - ContainerLocator.Current.RegisterInstance(kvp.Value, kvp.Key); + containerExtension.RegisterInstance(kvp.Value, kvp.Key); } + containerExtension.FinalizeExtension(); + } - _initialized = true; + public void Dispose() + { + ContainerLocator.ResetContainer(); } [Fact] @@ -111,11 +99,11 @@ public void CanResolveServiceFromMarkupExtension() { var xaml = @""; + xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' + xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' + xmlns:prism='http://prismlibrary.com/' + xmlns:mocks='clr-namespace:Prism.IocContainer.Wpf.Tests.Support.Mocks;assembly=Prism.IocContainer.Wpf.Tests.Support' + DataContext='{prism:ContainerProvider mocks:IService}' />"; using (var reader = new StringReader(xaml)) { @@ -130,12 +118,12 @@ public void CanResolveServiceFromXmlElement() { var xaml = @" + xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' + xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' + xmlns:prism='clr-namespace:Prism.Ioc;assembly=Prism.Wpf' + xmlns:mocks='clr-namespace:Prism.IocContainer.Wpf.Tests.Support.Mocks;assembly=Prism.IocContainer.Wpf.Tests.Support'> - + "; diff --git a/tests/Wpf/Prism.DryIoc.Wpf.Tests/Prism.DryIoc.Wpf.Tests.csproj b/tests/Wpf/Prism.DryIoc.Wpf.Tests/Prism.DryIoc.Wpf.Tests.csproj index 7039cd80b4..fe3852eac8 100644 --- a/tests/Wpf/Prism.DryIoc.Wpf.Tests/Prism.DryIoc.Wpf.Tests.csproj +++ b/tests/Wpf/Prism.DryIoc.Wpf.Tests/Prism.DryIoc.Wpf.Tests.csproj @@ -6,10 +6,6 @@ false - - TRACE;DryIoc - - diff --git a/tests/Wpf/Prism.Unity.Wpf.Tests/Prism.Unity.Wpf.Tests.csproj b/tests/Wpf/Prism.Unity.Wpf.Tests/Prism.Unity.Wpf.Tests.csproj index 16f204ef92..00d9e9c160 100644 --- a/tests/Wpf/Prism.Unity.Wpf.Tests/Prism.Unity.Wpf.Tests.csproj +++ b/tests/Wpf/Prism.Unity.Wpf.Tests/Prism.Unity.Wpf.Tests.csproj @@ -6,10 +6,6 @@ false - - TRACE;Unity - -