예제 #1
0
        public void ConfigTest_Should_Return_ExcelTabular_When_This_Is_abc()
        {
            // Arrange
            Mock <IConfigurationManagerLoader> configurationManagerLoaderMock = new Mock <IConfigurationManagerLoader>();
            IConfigurationManagerLoader        configurationManagerLoader     = configurationManagerLoaderMock.Object;

            configurationManagerLoaderMock.Setup(c => c.KeyExcelTabular).Returns("abc");

            // Act
            Config config = new Config(configurationManagerLoader);

            // Assert
            config.ExcelTabular.Should().Be("abc");
        }
예제 #2
0
        public void ConfigTest_Should_Return_OutStartId_123_When_This_Is_123()
        {
            // Arrange
            Mock <IConfigurationManagerLoader> configurationManagerLoaderMock = new Mock <IConfigurationManagerLoader>();
            IConfigurationManagerLoader        configurationManagerLoader     = configurationManagerLoaderMock.Object;

            configurationManagerLoaderMock.Setup(c => c.KeyOutStartId).Returns("123");

            // Act
            Config config = new Config(configurationManagerLoader);

            // Assert
            config.OutStartId.Should().Be(123);
        }
예제 #3
0
        public void ConfigTest_Should_Return_DatabaseVendor_Postgres_When_DatabaseVendor_Is_Postgres()
        {
            // Arrange
            Mock <IConfigurationManagerLoader> configurationManagerLoaderMock = new Mock <IConfigurationManagerLoader>();
            IConfigurationManagerLoader        configurationManagerLoader     = configurationManagerLoaderMock.Object;

            configurationManagerLoaderMock.Setup(c => c.KeyDatabaseVendor).Returns("Postgres");

            // Act
            Config config = new Config(configurationManagerLoader);

            // Assert
            config.DatabaseVendor.Should().Be(DatabaseEnum.Vendor.Postgres);
        }
예제 #4
0
        public void ConfigTest_Should_Return_OutInsertFilename_When_This_Is_abc()
        {
            // Arrange
            Mock <IConfigurationManagerLoader> configurationManagerLoaderMock = new Mock <IConfigurationManagerLoader>();
            IConfigurationManagerLoader        configurationManagerLoader     = configurationManagerLoaderMock.Object;

            configurationManagerLoaderMock.Setup(c => c.KeyOutInsertFilename).Returns("abc");

            // Act
            Config config = new Config(configurationManagerLoader);

            // Assert
            config.OutInsertFilename.Should().Be("abc");
        }
예제 #5
0
        public void ConfigTest_Should_Return_OutStartId_0_By_Default()
        {
            // Arrange
            Mock <IConfigurationManagerLoader> configurationManagerLoaderMock = new Mock <IConfigurationManagerLoader>();
            IConfigurationManagerLoader        configurationManagerLoader     = configurationManagerLoaderMock.Object;

            configurationManagerLoaderMock.Setup(c => c.KeyOutStartId).Returns("abc");

            // Act
            Config config = new Config(configurationManagerLoader);

            // Assert
            config.OutStartId.Should().Be(0);
        }
예제 #6
0
        public void ConfigTest_Should_Return_OutFileEncoding_Utf8_By_Default()
        {
            // Arrange
            Mock <IConfigurationManagerLoader> configurationManagerLoaderMock = new Mock <IConfigurationManagerLoader>();
            IConfigurationManagerLoader        configurationManagerLoader     = configurationManagerLoaderMock.Object;

            configurationManagerLoaderMock.Setup(c => c.KeyOutFileEncoding).Returns("");

            // Act
            Config config = new Config(configurationManagerLoader);

            // Assert
            config.OutFileEncoding.Should().Be(Key.Utf8);
        }
예제 #7
0
        public void ConfigTest_Should_Return_DatabaseVendor_Oracle_By_Default()
        {
            // Arrange
            Mock <IConfigurationManagerLoader> configurationManagerLoaderMock = new Mock <IConfigurationManagerLoader>();
            IConfigurationManagerLoader        configurationManagerLoader     = configurationManagerLoaderMock.Object;

            Fixture fixture        = new Fixture();
            var     databaseVendor = fixture.Create("vendor");

            configurationManagerLoaderMock.Setup(c => c.KeyDatabaseVendor).Returns(databaseVendor);

            // Act
            Config config = new Config(configurationManagerLoader);

            // Assert
            config.DatabaseVendor.Should().Be(DatabaseEnum.Vendor.Oracle);
        }
예제 #8
0
        public Config(IConfigurationManagerLoader configurationManager)
        {
            this.configurationManager = configurationManager;
            string databaseName = this.configurationManager.KeyDatabaseVendor;

            this.databaseVendor = DatabaseEnum.Vendor.Oracle;

            if (databaseName == Key.POSTGRES)
            {
                this.databaseVendor = DatabaseEnum.Vendor.Postgres;
            }

            this.excelFilename = this.configurationManager.KeyExcelFilename;
            this.excelPath     = this.configurationManager.KeyExcelPath;
            this.excelTabular  = this.configurationManager.KeyExcelTabular;

            this.outCreateFilename    = this.configurationManager.KeyOutCreateFilename;
            this.outInsertFilename    = this.configurationManager.KeyOutInsertFilename;
            this.outExtraFields       = this.configurationManager.KeyOutExtraFields;
            this.outExtraNumberFields = this.configurationManager.KeyOutExtraNumberFields;
            this.outExtraDateFields   = this.configurationManager.KeyOutExtraDateFields;
            string outFileEncoding = this.configurationManager.KeyOutFileEncoding;

            if (!string.IsNullOrEmpty(outFileEncoding))
            {
                int.TryParse(outFileEncoding, out this.outFileEncoding);
            }
            if (this.outFileEncoding == 0)
            {
                this.outFileEncoding = Key.Utf8;
            }


            this.outTablename = this.configurationManager.KeyOutTablename?.ToLower();
            this.outPath      = this.configurationManager.KeyOutPath;

            string outStartId = this.configurationManager.KeyOutStartId;

            int.TryParse(outStartId, out this.outStartId);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="configurationManagerLoader">Abstraction over .NET Classic and .NET Core configuration methods</param>
 public ConfigurationContainerFactory(IConfigurationManagerLoader <TSerialized> configurationManagerLoader, IGWithConstructorFactory <TSerialized> deserializer)
 {
     this.configurationManagerLoader = configurationManagerLoader;
     this.deserializer = deserializer;
 }
예제 #10
0
 public static IConfigurationContainerFactory ResetConfigurationContainerFactoryStandard(IConfigurationManagerLoader <Microsoft.Extensions.Configuration.IConfigurationSection> configurationManagerLoader)
 {
     return(new ConfigurationContainerFactory <Microsoft.Extensions.Configuration.IConfigurationSection>(configurationManagerLoader, deserializer));
 }