public void BasicConnectionFactory_WhenConstructed_ThenDetailsSet()
        {
            // Arrange
            string hostname = "127.0.0.1";
            string username = "******";
            string password = "******";
            SecureConnectionSettings settings = GetSecureConnectionSettings();

            // Act
            BasicConnectionFactory basicConnectionFactory = new BasicConnectionFactory(
                hostname,
                username,
                password,
                settings);

            // Assert
            Assert.Equal(hostname, basicConnectionFactory.HostName);
            Assert.Equal(username, basicConnectionFactory.UserName);
            Assert.Equal(password, basicConnectionFactory.Password);
            Assert.True(basicConnectionFactory.Ssl.Enabled);
            Assert.Equal(settings.ServerName, basicConnectionFactory.Ssl.ServerName);
            Assert.Equal(settings.CertPath, basicConnectionFactory.Ssl.CertPath);
            Assert.Equal(settings.CertPassphrase, basicConnectionFactory.Ssl.CertPassphrase);
            Assert.Equal(settings.Protocol, basicConnectionFactory.Ssl.Version);
        }
        public void BasicConnectionFactory_WhenPasswordIsNotSupplied_ThenArgumentException(string password)
        {
            // Arrange
            string hostname = "127.0.0.1";
            string username = "******";
            SecureConnectionSettings settings = GetSecureConnectionSettings();

            // Act
            void instantiation()
            {
                BasicConnectionFactory basicConnectionFactory = new BasicConnectionFactory(
                    hostname,
                    username,
                    password,
                    settings);
            }

            // Assert
            Assert.Throws <ArgumentException>(instantiation);
        }