Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public void Create_GetInstanceSamePort_ReturnsInstance()
        {
            var port = Ports.GetNext();

            using (DicomServer.Create <DicomCEchoProvider>(port))
            {
                var server = DicomServer.GetInstance(port);
                Assert.Equal(port, server.Port);
            }
        }
Exemplo n.º 4
0
        public void Create_GetInstanceDifferentPort_ReturnsNull()
        {
            var port = Ports.GetNext();

            using (DicomServer.Create <DicomCEchoProvider>(port))
            {
                var server = DicomServer.GetInstance(Ports.GetNext());
                Assert.Null(server);
            }
        }
Exemplo n.º 5
0
        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));
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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();
            }
        }