23 lines
688 B
C#
23 lines
688 B
C#
using System.Runtime.CompilerServices;
|
|
using NUnit.Framework;
|
|
using ShrinkCommand;
|
|
using ShrinkCommand.Integration;
|
|
using ShrinkNetwork;
|
|
|
|
public class BridgeRetentionTests
|
|
{
|
|
[Test]
|
|
public void CommandBridgeDoesNotKeepRetiredNetworkServiceAlive()
|
|
{
|
|
var weak = Register(); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect();
|
|
Assert.That(weak.IsAlive, Is.False);
|
|
}
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private static WeakReference Register()
|
|
{
|
|
var service = new ShrinkNetworkService();
|
|
ShrinkNetworkCommandBridge.RegisterService(service, new ShrinkCommandService());
|
|
return new WeakReference(service);
|
|
}
|
|
}
|