コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: DicomServerTest.cs プロジェクト: fo-dicom/fo-dicom
        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);
            }
        }
コード例 #3
0
ファイル: DicomClientTest.cs プロジェクト: aerik/fo-dicom
        //[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);
            }
        }
コード例 #4
0
ファイル: DicomClientTest.cs プロジェクト: aerik/fo-dicom
        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);
            }
        }