public void Release_AfterAssociation_SendIsCompleted() { int port = Ports.GetNext(); using (DicomServer.Create <MockCEchoProvider>(port)) { var client = new DicomClient(); client.AddRequest(new DicomCEchoRequest()); var task = client.SendAsync("127.0.0.1", port, false, "SCU", "ANY-SCP"); client.WaitForAssociation(); client.Release(); Thread.Sleep(10); Assert.True(task.IsCompleted); } }
public void Stop_DisconnectedClientsCount_ShouldBeZeroAfterShortDelay() { var port = Ports.GetNext(); using (var server = DicomServer.Create <DicomCEchoProvider>(port)) { while (!server.IsListening) { Thread.Sleep(10); } var client = new DicomClient(); client.AddRequest(new DicomCEchoRequest()); client.Send("127.0.0.1", port, false, "SCU", "ANY-SCP"); client.Release(0); Thread.Sleep(100); server.Stop(); Thread.Sleep(100); var actual = ((DicomServer <DicomCEchoProvider>)server).CompletedServicesCount; Assert.Equal(0, actual); } }
//[InlineData(100)] public void Send_MultipleTimes_AllRecognized(int expected) { int port = Ports.GetNext(); using (var server = DicomServer.Create<DicomCEchoProvider>(port)) { while (!server.IsListening) Thread.Sleep(50); var actual = 0; var client = new DicomClient(); for (var i = 0; i < expected; ++i) { client.AddRequest(new DicomCEchoRequest { OnResponseReceived = (req, res) => Interlocked.Increment(ref actual) }); client.Send("127.0.0.1", port, false, "SCU", "ANY-SCP"); } client.Release(); Assert.Equal(expected, actual); } }
public void Release_AfterAssociation_SendIsCompleted() { int port = Ports.GetNext(); using (DicomServer.Create<MockCEchoProvider>(port)) { var client = new DicomClient(); client.AddRequest(new DicomCEchoRequest()); var task = client.SendAsync("127.0.0.1", port, false, "SCU", "ANY-SCP"); client.WaitForAssociation(); client.Release(); Thread.Sleep(10); Assert.True(task.IsCompleted); } }