From 89f762f1ec45ed57bf82a26299e9b96bc5e654a1 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Wed, 31 Aug 2016 19:27:55 -0500 Subject: [PATCH] Added scoping on the AppBuilder tests to limit the scope of the service initialization. --- .../AppBuilderTests.cs | 77 +++++++++++-------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/tests/Avalonia.Controls.UnitTests/AppBuilderTests.cs b/tests/Avalonia.Controls.UnitTests/AppBuilderTests.cs index 0838052ffc..d426a7edb3 100644 --- a/tests/Avalonia.Controls.UnitTests/AppBuilderTests.cs +++ b/tests/Avalonia.Controls.UnitTests/AppBuilderTests.cs @@ -61,52 +61,61 @@ namespace Avalonia.Controls.UnitTests [Fact] public void LoadsDefaultModule() { - ResetModuleLoadStates(); - AppBuilder.Configure() - .UseWindowingSubsystem(() => { }) - .UseRenderingSubsystem(() => { }) - .UseAvaloniaModules() - .SetupWithoutStarting(); + using (AvaloniaLocator.EnterScope()) + { + ResetModuleLoadStates(); + AppBuilder.Configure() + .UseWindowingSubsystem(() => { }) + .UseRenderingSubsystem(() => { }) + .UseAvaloniaModules() + .SetupWithoutStarting(); - Assert.True(DefaultModule.IsLoaded); + Assert.True(DefaultModule.IsLoaded); + } } [Fact] public void LoadsRenderingModuleWithMatchingRenderingSubsystem() { - ResetModuleLoadStates(); - var builder = AppBuilder.Configure() - .UseWindowingSubsystem(() => { }) - .UseRenderingSubsystem(() => { }); - builder.RenderingSubsystemName = "Direct2D1"; - builder.UseAvaloniaModules().SetupWithoutStarting(); - Assert.False(DefaultRenderingModule.IsLoaded); - Assert.True(Direct2DModule.IsLoaded); - Assert.False(SkiaModule.IsLoaded); + using (AvaloniaLocator.EnterScope()) + { + ResetModuleLoadStates(); + var builder = AppBuilder.Configure() + .UseWindowingSubsystem(() => { }) + .UseRenderingSubsystem(() => { }); + builder.RenderingSubsystemName = "Direct2D1"; + builder.UseAvaloniaModules().SetupWithoutStarting(); + Assert.False(DefaultRenderingModule.IsLoaded); + Assert.True(Direct2DModule.IsLoaded); + Assert.False(SkiaModule.IsLoaded); - ResetModuleLoadStates(); - builder = AppBuilder.Configure() - .UseWindowingSubsystem(() => { }) - .UseRenderingSubsystem(() => { }); - builder.RenderingSubsystemName = "Skia"; - builder.UseAvaloniaModules().SetupWithoutStarting(); - Assert.False(DefaultRenderingModule.IsLoaded); - Assert.False(Direct2DModule.IsLoaded); - Assert.True(SkiaModule.IsLoaded); + ResetModuleLoadStates(); + builder = AppBuilder.Configure() + .UseWindowingSubsystem(() => { }) + .UseRenderingSubsystem(() => { }); + builder.RenderingSubsystemName = "Skia"; + builder.UseAvaloniaModules().SetupWithoutStarting(); + Assert.False(DefaultRenderingModule.IsLoaded); + Assert.False(Direct2DModule.IsLoaded); + Assert.True(SkiaModule.IsLoaded); + } } [Fact] public void LoadsRenderingModuleWithoutDependenciesWhenNoModuleMatches() { - ResetModuleLoadStates(); - var builder = AppBuilder.Configure() - .UseWindowingSubsystem(() => { }) - .UseRenderingSubsystem(() => { }); - builder.RenderingSubsystemName = "Cairo"; - builder.UseAvaloniaModules().SetupWithoutStarting(); - Assert.True(DefaultRenderingModule.IsLoaded); - Assert.False(Direct2DModule.IsLoaded); - Assert.False(SkiaModule.IsLoaded); + using (AvaloniaLocator.EnterScope()) + { + ResetModuleLoadStates(); + var builder = AppBuilder.Configure() + .UseWindowingSubsystem(() => { }) + .UseRenderingSubsystem(() => { }); + builder.RenderingSubsystemName = "Cairo"; + builder.UseAvaloniaModules().SetupWithoutStarting(); + Assert.True(DefaultRenderingModule.IsLoaded); + Assert.False(Direct2DModule.IsLoaded); + Assert.False(SkiaModule.IsLoaded); + } } private static void ResetModuleLoadStates()