Repository navigation
Expand file tree
/
Copy pathEditorExtensionServiceProviderTests.cs
More file actions
68 lines (55 loc) · 2.57 KB
/
Copy pathEditorExtensionServiceProviderTests.cs
File metadata and controls
68 lines (55 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.PowerShell.EditorServices.Extensions.Services;
using Microsoft.PowerShell.EditorServices.Services.Extension;
using Microsoft.PowerShell.EditorServices.Services.PowerShell.Host;
using Microsoft.PowerShell.EditorServices.Test;
using Xunit;
using WorkspaceService = Microsoft.PowerShell.EditorServices.Services.WorkspaceService;
namespace PowerShellEditorServices.Test.Extensions
{
[Trait("Category", "Extensions")]
public class EditorExtensionServiceProviderTests : IAsyncLifetime
{
private PsesInternalHost psesHost;
private WorkspaceService workspaceService;
private EditorExtensionServiceProvider serviceProvider;
public async Task InitializeAsync()
{
psesHost = await PsesHostFactory.Create(NullLoggerFactory.Instance);
ExtensionService extensionService = new(
languageServer: null,
serviceProvider: null,
editorOperations: null,
executionService: psesHost);
await extensionService.InitializeAsync();
workspaceService = new WorkspaceService(NullLoggerFactory.Instance);
ServiceCollection services = new();
services.AddSingleton(extensionService);
services.AddSingleton(workspaceService);
serviceProvider = new EditorExtensionServiceProvider(services.BuildServiceProvider());
}
public async Task DisposeAsync() => await psesHost.StopAsync();
[Fact]
public void GetServiceByFullTypeNameReturnsService() =>
Assert.Same(
workspaceService,
serviceProvider.GetService("Microsoft.PowerShell.EditorServices.Services.WorkspaceService"));
[Fact]
public void GetServiceByTypeNameAndAssemblyNameReturnsService() =>
Assert.Same(
workspaceService,
serviceProvider.GetService(
"Microsoft.PowerShell.EditorServices.Services.WorkspaceService",
"Microsoft.PowerShell.EditorServices"));
[Fact]
public void GetServiceByAssemblyQualifiedNameReturnsService() =>
Assert.Same(
workspaceService,
serviceProvider.GetServiceByAssemblyQualifiedName(
"Microsoft.PowerShell.EditorServices.Services.WorkspaceService, Microsoft.PowerShell.EditorServices"));
}
}