public void Create_SubclassedServer_SufficientlyCreated() { var port = Ports.GetNext(); using (var server = DicomServer.Create <DicomCEchoProvider, DicomCEchoProviderServer>(null, port)) { Assert.IsType <DicomCEchoProviderServer>(server); Assert.Equal(DicomServer.GetInstance(port), server); var status = DicomStatus.UnrecognizedOperation; var handle = new ManualResetEventSlim(); var client = new DicomClient(); client.AddRequest(new DicomCEchoRequest { OnResponseReceived = (req, rsp) => { status = rsp.Status; handle.Set(); } }); client.Send("127.0.0.1", port, false, "SCU", "ANY-SCP"); handle.Wait(1000); Assert.Equal(DicomStatus.Success, status); } }
public void Create_GetInstanceSamePortAfterDisposal_ReturnsNull() { var port = Ports.GetNext(); using (DicomServer.Create <DicomCEchoProvider>(port)) { /* do nothing here */ } var server = DicomServer.GetInstance(port); Assert.Null(server); }
public void Create_GetInstanceSamePort_ReturnsInstance() { var port = Ports.GetNext(); using (DicomServer.Create <DicomCEchoProvider>(port)) { var server = DicomServer.GetInstance(port); Assert.Equal(port, server.Port); } }
public void Create_GetInstanceDifferentPort_ReturnsNull() { var port = Ports.GetNext(); using (DicomServer.Create <DicomCEchoProvider>(port)) { var server = DicomServer.GetInstance(Ports.GetNext()); Assert.Null(server); } }
public void IsListening_DicomServerStoppedOnPort_ReturnsFalse() { var port = Ports.GetNext(); using (var server = DicomServer.Create <DicomCEchoProvider>(port)) { server.Stop(); Thread.Sleep(500); Assert.NotNull(DicomServer.GetInstance(port)); Assert.False(DicomServer.IsListening(port)); } }
public void Create_TwiceOnSamePortWithDisposalInBetween_DoesNotThrow() { var port = Ports.GetNext(); using (DicomServer.Create <DicomCEchoProvider>(port)) { } var e = Record.Exception( () => { using (DicomServer.Create <DicomCEchoProvider>(port)) { Assert.NotNull(DicomServer.GetInstance(port)); } }); Assert.Null(e); }
public void Create_MultipleInstancesDifferentPorts_AllRegistered() { var ports = new int[20].Select(i => Ports.GetNext()).ToArray(); foreach (var port in ports) { var server = DicomServer.Create <DicomCEchoProvider>(port); while (!server.IsListening) { Thread.Sleep(10); } } foreach (var port in ports) { Assert.Equal(port, DicomServer.GetInstance(port).Port); } foreach (var port in ports) { DicomServer.GetInstance(port).Dispose(); } }