Skip to content
This repository was archived by the owner on Dec 20, 2023. It is now read-only.

Commit eeedc0c

Browse files
committed
(#5) used TypeRegistrarBaseTests
and modified the resolver accordingly, to pass the tests.
1 parent 19cb36c commit eeedc0c

File tree

4 files changed

+24
-12
lines changed

4 files changed

+24
-12
lines changed

src/Spectre.Console.Registrars.SimpleInjector.Tests/RegistrarTests.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
using System;
1+
using Shouldly;
22

3-
using Shouldly;
3+
using SimpleInjector;
4+
5+
using Spectre.Console.Testing;
46

57
using Xunit;
68

@@ -9,14 +11,15 @@ namespace Spectre.Console.Registrars.SimpleInjector.Tests
911
public class RegistrarTests
1012
{
1113
[Fact]
12-
public void Resolver_Resolving_null_Throws()
14+
public void Should_Pass_Base_Tests()
1315
{
14-
var fixture = new RegistrarFixture();
15-
var resolver = fixture.GetResolver();
16-
17-
Action action = () => resolver.Resolve(null);
16+
var baseTests = new TypeRegistrarBaseTests(() =>
17+
{
18+
var container = new Container();
19+
return new SimpleInjectorRegistrar(container);
20+
});
1821

19-
action.ShouldThrow<ArgumentNullException>();
22+
baseTests.RunAllTests();
2023
}
2124

2225
[Fact]

src/Spectre.Console.Registrars.SimpleInjector.Tests/Spectre.Console.Registrars.SimpleInjector.Tests.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
<PackageReference Include="Moq" Version="4.16.1" />
1515
<PackageReference Include="Shouldly" Version="4.0.3" />
1616
<PackageReference Include="SimpleInjector" Version="5.3.2" />
17-
<PackageReference Include="Spectre.Console" Version="0.41.0" />
17+
<PackageReference Include="Spectre.Console" Version="0.43.0" />
18+
<PackageReference Include="Spectre.Console.Testing" Version="0.43.0" />
1819
<PackageReference Include="xunit" Version="2.4.1" />
1920
<PackageReference Include="xunit.analyzers" Version="0.10.0" />
2021
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">

src/Spectre.Console.Registrars.SimpleInjector/SimlpeInjectorRegistrar.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,18 @@ public object Resolve(Type type)
6464
{
6565
if (type == null)
6666
{
67-
throw new ArgumentNullException(nameof(type));
67+
return null;
6868
}
6969

70-
var implementation = container.GetInstance(type);
70+
object implementation = null;
71+
try
72+
{
73+
implementation = container.GetInstance(type);
74+
}
75+
catch (ActivationException)
76+
{
77+
// ignored
78+
}
7179

7280
return implementation;
7381
}

src/Spectre.Console.Registrars.SimpleInjector/Spectre.Console.Registrars.SimpleInjector.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<PrivateAssets>all</PrivateAssets>
3535
</PackageReference>
3636
<PackageReference Include="SimpleInjector" Version="5.0.0" PrivateAssets="all" />
37-
<PackageReference Include="Spectre.Console" Version="0.38.0" PrivateAssets="all" />
37+
<PackageReference Include="Spectre.Console" Version="0.43.0" PrivateAssets="all" />
3838
</ItemGroup>
3939

4040
</Project>

0 commit comments

Comments
 (0)