Exemple #1
0
        public void ConnectionItemsInConnectionCollectionAreTheSameThanAppConfig()
        {
            ConnectionSettingsSection section = (ConnectionSettingsSection)ConfigurationManager.GetSection("ConnectionMonitor");

            foreach (ConnectionItemElement itemConnection in section.Connections)
            {
                switch (itemConnection.Type)
                {
                case ConnectionFactory.WiredConnection:
                    Assert.AreEqual(2, itemConnection.Price);
                    break;

                case ConnectionFactory.WirelessConnection:
                    Assert.AreEqual(4, itemConnection.Price);
                    break;

                case ConnectionFactory.DesktopConnection:
                    Assert.AreEqual(8, itemConnection.Price);
                    break;

                default:
                    Assert.Fail();
                    break;
                }
            }

            Assert.AreEqual(3, section.Connections.Count);
        }
        public void NetworkDetectionStrategyMatchesConfigFile()
        {
            {
                ConnectionSettingsSection config = (ConnectionSettingsSection)ConfigurationManager.GetSection("ConnectionMonitor");

                Assert.IsNotNull(config.Networks);
                Assert.AreEqual(3, config.Networks.Count);
                Assert.AreEqual("Internet", config.Networks[0].Name);
                Assert.AreEqual("Work", config.Networks[1].Name);
                Assert.AreEqual("Home", config.Networks[2].Name);
            }
        }
        /// <summary>
        ///	This factory method initializes the ConnectionMonitor single instance adding networks acording to the
        ///	native Connection Manager API and connections from the supplied configuration section
        ///	name.
        /// </summary>
        /// <param name="sectionName">
        ///	Name of the section in the configuration file (App.config), wich contains the different
        ///	types of connection
        /// </param>
        /// <returns>The <see cref="ConnectionMonitor"/> instance.</returns>
        public static ConnectionMonitor CreateFromConfiguration(string sectionName)
        {
            lock (_syncObject)
            {
                if (_instance == null)
                {
                    ConnectionSettingsSection configuration = ConfigurationManager.GetSection(sectionName) as ConnectionSettingsSection;

                    NetworkCollection networks = null;

                    if (configuration != null)
                    {
                        // Create the strategy for network detection
                        if (!String.IsNullOrEmpty(configuration.Networks.StrategyType))
                        {
                            Type strategyType = Type.GetType(configuration.Networks.StrategyType);
                            INetworkStatusStrategy statusService = (INetworkStatusStrategy)Activator.CreateInstance(strategyType);
                            networks = new NetworkCollection(statusService);
                        }
                        else
                        {
                            networks = new NetworkCollection();
                        }


                        foreach (NetworkElement networkConfig in configuration.Networks)
                        {
                            networks.Add(new Network(networkConfig.Name, networkConfig.Address));
                        }

                        ConnectionCollection connections = new ConnectionCollection();

                        foreach (ConnectionItemElement itemConnection in configuration.Connections)
                        {
                            connections.Add(ConnectionFactory.CreateConnection(itemConnection.Type, itemConnection.Price));
                        }

                        _instance = new ConnectionMonitor(connections, networks);
                    }
                    else
                    {
                        _instance = new ConnectionMonitor();
                    }

                    if (_instance.Connections.Count == 0)
                    {
                        _instance.Connections.Add(new NicConnection("NicConnection", 0));
                    }
                }
            }
            return(_instance);
        }
        public ICacheProvider Build()
        {
            if (_serializer == null)
            {
                throw new Exception("Serializer is required. Please provide an instance of ISerializer");
            }

            if (_connectionSettings == null)
            {
                _connectionSettings = ConnectionSettingsSection.Instance(_settingsSectionName ?? DefaultSettingsSectionName);
            }

            if (_connectionFactory == null)
            {
                _connectionFactory = new ConnectionFactory(_connectionSettings);
            }

            return(new RedisCacheProvider(DefaultName, DefaultOrder, _connectionSettings, _connectionFactory, _serializer));
        }
Exemple #5
0
        public void SectionGetEndpointItemsCollectionContainsSameQuantityThanAppConfig()
        {
            ConnectionSettingsSection section = (ConnectionSettingsSection)ConfigurationManager.GetSection("ConnectionMonitor");

            Assert.AreEqual(3, section.Connections.Count);
        }
Exemple #6
0
        public void SectionGetConnectionItemsCollectionDoesntGetNull()
        {
            ConnectionSettingsSection section = (ConnectionSettingsSection)ConfigurationManager.GetSection("ConnectionMonitor");

            Assert.IsNotNull(section.Connections);
        }