diff --git a/Test.LightweightIocContainer/DisposeStrategyTest.cs b/Test.LightweightIocContainer/DisposeStrategyTest.cs index 2572e9c..e60a781 100644 --- a/Test.LightweightIocContainer/DisposeStrategyTest.cs +++ b/Test.LightweightIocContainer/DisposeStrategyTest.cs @@ -31,9 +31,13 @@ public class DisposeStrategyTest } } - private class TestNotDisposable + private class TestNotDisposable; + + [UsedImplicitly] + public interface IInterfaceSegregation : ITest; + private class TestInterfaceSegregation : IInterfaceSegregation { - + public void Dispose() => throw new Exception(); } @@ -119,4 +123,15 @@ public class DisposeStrategyTest IocContainer iocContainer = new(); Assert.Throws(() => iocContainer.Register(r => r.Add(Lifestyle.Singleton).WithDisposeStrategy(DisposeStrategy.Container))); } + + [Test] + public void TestValidDisposeStrategyForSingletonInterfaceSegregation() + { + IocContainer iocContainer = new(); + iocContainer.Register(r => r.Add(Lifestyle.Singleton).WithDisposeStrategy(DisposeStrategy.Application)); + + iocContainer.Resolve(); + + Assert.DoesNotThrow(() => iocContainer.Dispose()); + } } \ No newline at end of file