public void Get_ServiceSettingsConnectionStringWithNamespace_ShouldReturnConnectionString()
        {
            var serviceSettings = new ServiceSettings();

            serviceSettings.ConnectionString = "sqlserver/dba";
            var configProvider = new CustomConfigurationProvider();

            configProvider.Initialize("Epam.Mentoring.DesignPatterns.Solid.ServiceSettings.ConnectionString=sqlserver/dba");

            var settings = configProvider.Get <ServiceSettings>();

            Assert.AreEqual("sqlserver/dba", settings.ConnectionString);
        }
        public void Get_ServiceSettingsPortWithNamespace_ShouldReturnPort()
        {
            var serviceSettings = new ServiceSettings();

            serviceSettings.Port = 4563;
            var configProvider = new CustomConfigurationProvider();

            configProvider.Initialize("Epam.Mentoring.DesignPatterns.Solid.ServiceSettings.Port=4563");

            var settings = configProvider.Get <ServiceSettings>();

            Assert.AreEqual(4563, settings.Port);
        }
        public void Get_ServiceSettingsPortWithEmptyConfig_ShouldReturnEmptyInstance()
        {
            var serviceSettings = new ServiceSettings();

            serviceSettings.Port = 4563;
            var configProvider = new CustomConfigurationProvider();

            configProvider.Initialize("");

            var settings = configProvider.Get <ServiceSettings>();

            Assert.AreEqual(0, settings.Port);
        }
        public void Get_ServiceSettingsBatchSizeWithoutNamespace_ShouldReturnBatchSize()
        {
            var serviceSettings = new ServiceSettings();

            serviceSettings.BatchSize = 300;
            var configProvider = new CustomConfigurationProvider();

            configProvider.Initialize("ServiceSettings.BatchSize=300");

            var settings = configProvider.Get <ServiceSettings>();

            Assert.AreEqual(300, settings.BatchSize);
        }
        public static void Main(string[] args)
        {
            Console.WriteLine("ConfigurationProvider Example");
            Console.WriteLine();

            var environmentName = "Dev";
            var filePath        = Directory.GetCurrentDirectory();
            var fileReader      = new FileConfigReader(environmentName, filePath);
            var configContent   = fileReader.Read();
            var configProvider  = new CustomConfigurationProvider();

            configProvider.Initialize(configContent);
            var settings = configProvider.Get <ServiceSettings>();

            Console.WriteLine("ConnectionString={0}", settings.ConnectionString);
            Console.WriteLine("BatchSize={0}", settings.BatchSize);
            Console.WriteLine("Port={0}", settings.Port);
        }