Пример #1
0
        public void GetFreeDynamicPortThrowsOnUnexpectedEndPointType()
        {
            // arrange
            var port    = 51234;
            var factory = Mock.Of <ITcpListenerWrapperFactory>(x =>
                                                               x.Create(0, true).LocalEndpoint == new DnsEndPoint("localhost", port));
            var helper = new TcpHelper(factory);

            // act and assert
            var error = Assert.Throws <InvalidOperationException>(() => helper.GetFreeDynamicPort());

            Assert.Equal(Resources.Exception_UnexpectedEndpointType, error.Message);
        }
Пример #2
0
        public void GetsFreeDynamicPort()
        {
            // arrange
            var port    = 51234;
            var factory = Mock.Of <ITcpListenerWrapperFactory>(x =>
                                                               x.Create(0, true).LocalEndpoint == new IPEndPoint(IPAddress.Loopback, port));
            var helper = new TcpHelper(factory);

            // act
            var result = helper.GetFreeDynamicPort();

            // assert
            Assert.Equal(port, result);
        }
Пример #3
0
        public void GetFreeDynamicPortThrowsOnSocketError()
        {
            // arrange
            var ex      = new SocketException();
            var factory = Mock.Of <ITcpListenerWrapperFactory>();

            Mock.Get(factory).Setup(x => x.Create(0, true).Start()).Throws(ex);
            var helper = new TcpHelper(factory);

            // act and assert
            var error = Assert.Throws <InvalidOperationException>(() => helper.GetFreeDynamicPort());

            Assert.Equal(Resources.Exception_CouldNotOpenADynamicPortForExclusiveUse, error.Message);
            Assert.Same(ex, error.InnerException);
        }