Added unit testing

This commit is contained in:
Samuele Lorefice
2026-06-15 00:37:40 +02:00
parent 8fc2fbc7f1
commit 5dfee34bf5
10 changed files with 569 additions and 2 deletions

View File

@@ -0,0 +1,40 @@
namespace Syrette.Tests;
public class ServiceContainerDisposalTests
{
[Fact]
public void Dispose_disposes_singletons_implementing_IDisposable()
{
var container = new ServiceContainer();
container.AddSingleton<TestDisposableService>();
var instance = container.GetService<TestDisposableService>();
container.Dispose();
Assert.True(instance.IsDisposed);
}
[Fact]
public void Dispose_clears_singleton_cache()
{
var container = new ServiceContainer();
container.AddSingleton<TestDisposableService>();
container.GetService<TestDisposableService>();
container.Dispose();
Assert.Throws<InvalidOperationException>(() =>
container.GetService<TestDisposableService>());
}
[Fact]
public void Multiple_dispose_is_safe()
{
var container = new ServiceContainer();
container.AddSingleton<TestDisposableService>();
container.GetService<TestDisposableService>();
container.Dispose();
container.Dispose();
Assert.True(true);
}
}