Resolve all 46 low-severity architecture review findings
This commit is contained in:
+25
@@ -0,0 +1,25 @@
|
||||
using ZB.MOM.WW.ScadaBridge.SiteRuntime.Scripts;
|
||||
|
||||
namespace ZB.MOM.WW.ScadaBridge.SiteRuntime.Tests.Scripts;
|
||||
|
||||
public class TriggerEvalGateLifecycleTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task SharedGate_IsProcessOwnedAndRemainsUsableAfterCallerDisposes()
|
||||
{
|
||||
var gate = TriggerEvalGate.Shared(new SiteRuntimeOptions());
|
||||
gate.Dispose();
|
||||
Assert.Same(gate, TriggerEvalGate.Shared(new SiteRuntimeOptions()));
|
||||
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(5));
|
||||
await gate.WaitAsync(deadline.Token);
|
||||
gate.Release();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void OwnedGate_IsDisposedByCaller()
|
||||
{
|
||||
var gate = new TriggerEvalGate(1);
|
||||
gate.Dispose();
|
||||
Assert.Throws<ObjectDisposedException>(() => { _ = gate.WaitAsync(CancellationToken.None); });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user