Skip to content

Commit afe3cbf

Browse files
committed
fix: test coverage
Signed-off-by: jbrinkman <[email protected]>
1 parent 6014a7c commit afe3cbf

File tree

2 files changed

+112
-0
lines changed

2 files changed

+112
-0
lines changed

src/DotNetApiDiff/DotNetApiDiff.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88
<GenerateDocumentationFile>false</GenerateDocumentationFile>
99
</PropertyGroup>
1010

11+
<ItemGroup>
12+
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
13+
<_Parameter1>DotNetApiDiff.Tests</_Parameter1>
14+
</AssemblyAttribute>
15+
</ItemGroup>
16+
1117
<ItemGroup>
1218
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
1319
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.1" />
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
// Copyright DotNet API Diff Project Contributors - SPDX Identifier: MIT
2+
using DotNetApiDiff.Commands;
3+
using Microsoft.Extensions.DependencyInjection;
4+
using Microsoft.Extensions.Logging;
5+
using Spectre.Console.Cli;
6+
using Xunit;
7+
8+
namespace DotNetApiDiff.Tests.Commands;
9+
10+
public class TypeRegistrarTests
11+
{
12+
[Fact]
13+
public void Constructor_WithServiceCollection_InitializesCorrectly()
14+
{
15+
// Arrange
16+
var services = new ServiceCollection();
17+
18+
// Act
19+
var registrar = new TypeRegistrar(services);
20+
21+
// Assert
22+
Assert.NotNull(registrar);
23+
}
24+
25+
[Fact]
26+
public void Constructor_WithServiceProvider_InitializesCorrectly()
27+
{
28+
// Arrange
29+
var services = new ServiceCollection();
30+
var serviceProvider = services.BuildServiceProvider();
31+
32+
// Act
33+
var registrar = new TypeRegistrar(serviceProvider);
34+
35+
// Assert
36+
Assert.NotNull(registrar);
37+
}
38+
39+
[Fact]
40+
public void Register_WithType_RegistersService()
41+
{
42+
// Arrange
43+
var services = new ServiceCollection();
44+
var registrar = new TypeRegistrar(services);
45+
46+
// Act
47+
registrar.Register(typeof(ILogger<TypeRegistrar>), typeof(Logger<TypeRegistrar>));
48+
49+
// Assert
50+
var serviceProvider = services.BuildServiceProvider();
51+
var resolver = registrar.Build();
52+
Assert.NotNull(resolver);
53+
}
54+
55+
[Fact]
56+
public void RegisterInstance_WithInstance_RegistersService()
57+
{
58+
// Arrange
59+
var services = new ServiceCollection();
60+
var registrar = new TypeRegistrar(services);
61+
var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
62+
var logger = loggerFactory.CreateLogger<TypeRegistrar>();
63+
64+
// Act
65+
registrar.RegisterInstance(typeof(ILogger<TypeRegistrar>), logger);
66+
67+
// Assert
68+
var resolver = registrar.Build();
69+
Assert.NotNull(resolver);
70+
}
71+
72+
[Fact]
73+
public void RegisterLazy_WithFactory_RegistersService()
74+
{
75+
// Arrange
76+
var services = new ServiceCollection();
77+
var registrar = new TypeRegistrar(services);
78+
79+
// Act
80+
registrar.RegisterLazy(typeof(ILogger<TypeRegistrar>), () =>
81+
{
82+
var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
83+
return loggerFactory.CreateLogger<TypeRegistrar>();
84+
});
85+
86+
// Assert
87+
var resolver = registrar.Build();
88+
Assert.NotNull(resolver);
89+
}
90+
91+
[Fact]
92+
public void Build_ReturnsTypeResolver()
93+
{
94+
// Arrange
95+
var services = new ServiceCollection();
96+
services.AddLogging();
97+
var registrar = new TypeRegistrar(services);
98+
99+
// Act
100+
var resolver = registrar.Build();
101+
102+
// Assert
103+
Assert.NotNull(resolver);
104+
Assert.IsAssignableFrom<ITypeResolver>(resolver);
105+
}
106+
}

0 commit comments

Comments
 (0)