protected virtual void RegisterServices(IKernel kernel) { var stringNormalizer = new StringNormalizer(Path.Combine(rootPath, "PersianCharsMap.json")); kernel.Bind <IStringNormalizer>().ToConstant(stringNormalizer); var db = new MongoDbContext(ConfigurationManager.AppSettings["DBName"], ConfigurationManager.AppSettings["MongoConnString"], getUsernameFunc: () => HttpContext.Current?.User?.Identity?.Name, objectPreprocessor: stringNormalizer, setDictionaryConventionToArrayOfDocuments: ConfigurationManager.AppSettings["setDictionaryConventionToArrayOfDocuments"] == "true", customConnections: GetCustomConnections()); db.DefaultPreprocess = true; kernel.Bind <IDbContext>().ToConstant(db); kernel.Bind <IReadOnlyDbContext>().ToConstant(db); DataTableFactory tableFactory = new DataTableFactory(db); kernel.Bind <DataTableFactory>().ToConstant(tableFactory).InSingletonScope(); string provincePrefix = ConfigurationManager.AppSettings["Province"]; if (provincePrefix != null) { var province = db.FindFirst <Province>(p => p.Prefix == provincePrefix); kernel.Bind <Province>().ToConstant(province); } }
public TestBase() { var config = new ConfigurationBuilder().AddJsonFile("TPH.Chariot.Database.Test.config.json").Build(); string sqlServerInstanceName = config["SQLServerInstanceName"]; _databaseName = config["DatabaseName"]; string userName = config["UserName"]; string password = config["Password"]; DataPortal = new DataPortal(sqlServerInstanceName: sqlServerInstanceName, databaseName: _databaseName, userName: userName, password: password); DataTableFactory = new DataTableFactory(); DatabaseBackupFolderPath = config["DatabaseBackupFolderPath"]; SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder() { DataSource = sqlServerInstanceName, InitialCatalog = "master", }; if (string.IsNullOrWhiteSpace(userName)) { csb.IntegratedSecurity = true; } else { csb.UserID = userName; csb.Password = password; } _connnectionString = csb.ConnectionString; }
public void CreateValidAccounts() { RunTestMethod(() => { // Add customer records IDataPortalResult result = null; DataTable customerDataTable = DataTableFactory.Customer(); customerDataTable.AddCustomerRow(code: "AAA"); customerDataTable.AddCustomerRow(code: "BBB"); result = DataPortal.Persist__Customer(customerDataTable); // Add account records for each customer DataTable accountDataTable = DataTableFactory.Account(); long customerID = (long)customerDataTable.Rows[0]["CustomerID"]; accountDataTable.AddAccountRow(customerID: customerID, code: "AAA"); accountDataTable.AddAccountRow(customerID: customerID, code: "BBB"); customerID = (long)customerDataTable.Rows[1]["CustomerID"]; accountDataTable.AddAccountRow(customerID: customerID, code: "AAA"); accountDataTable.AddAccountRow(customerID: customerID, code: "BBB"); result = DataPortal.Persist__Account(accountDataTable); // Assertions Assert.True(result.OK, $"Database operation returned error: {result.FirstErrorMessage}"); Assert.Equal(4, result.RowsUpdated); }); }
public InformationSchemaProvider(IUnityContainer container, DataTableFactory dataTableFactory) : base(container) { ArgumentUtility.CheckNotNull("dataTableFactory", dataTableFactory); this._dataTableFactory = dataTableFactory; }
public void ToObjects_DataTableWithManyRowsMatchingColumns_ReturnsEnumerableWithCorrectResult() { const int rows = 1000; List <SimpleNoIdNoAttributes> objects = new List <SimpleNoIdNoAttributes>(capacity: rows); for (int i = 0; i < rows; i++) { objects.Add(new SimpleNoIdNoAttributes { PropertyOne = i + 1, PropertyTwo = "Property" + i }); } var mappings = MappingHelper.CreatePropertyMappingsDirectlyMatchingObject <SimpleNoIdNoAttributes>(); DataTable dt = DataTableFactory.GenerateDataTableFilledWithObjects <SimpleNoIdNoAttributes>(objects); foreach (var mapping in mappings) { mapping.ColumnIndex = dt.Columns.IndexOf(mapping.FieldName); } var results = dataTableResolver.ToObjects <SimpleNoIdNoAttributes>(DataTableFactory.RowsForTable(dt), dataTypeConverter, mappings, dataTableParserSettings); Assert.True(results.Count == rows); }
public void VerifyPaging_DefaultValues() { // Arrange var smartObject = SmartObjectFactory.GetSmartObject(SmartObjectOption.ProcessInfo); smartObject.MethodToExecute = smartObject.Methods[0].Name; DataTable dataTable1 = DataTableFactory.GetDataTableWithOneColumnAndOneRow(); SmartObjectClientServer server = null; MockWrapperFactory.Instance.SmartObjectClientServer .Setup(x => x.ExecuteListDataTable( It.IsAny <SmartObject>(), It.IsAny <ExecuteListOptions>())) .Returns(dataTable1); MockWrapperFactory.Instance.SmartObjectClientServer .Setup(x => x.ExecuteListReader( It.IsAny <SmartObject>(), It.IsAny <ExecuteListReaderOptions>())) .Returns(default(SmartObjectReader)); // Action SmartObjectHelper.VerifyPaging(server, smartObject, 0); }
public void GetPropertyMappings_DataTableWithUnnamedColumns_ReturnsEmptyCollection() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns(null); ICollection <ExtendedPropertyInfo> results = defaultMappingResolver.GetPropertyMappings <SimpleNoIdNoAttributes>(dt, defaultDataTableParserSettings); Assert.True(results.Count == 0); }
public void CompareDataTables() { // Arrange DataTable dataTable1 = DataTableFactory.GetDataTableWithOneColumnAndOneRow(); // Action SmartObjectHelper.CompareDataTables(dataTable1, dataTable1.DefaultView.ToTable()); }
public void GetPropertyMappings_OnePropertyWithMatchingColumn_ReturnsCollectionWithOneResult() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns("PropertyOne"); ICollection <ExtendedPropertyInfo> results = defaultMappingResolver.GetPropertyMappings <SimpleOnePropertyNoIdNoAttributes>(dt, defaultDataTableParserSettings); Assert.True(results.Count == 1); }
public void GetPropertyMappings_TwoAttributesWithMatchingColumns_ReturnsAllResults() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns("Prop1", "Prop2"); var results = defaultMappingResolver.GetPropertyMappings <SimpleClassWithAttributes>(dt, defaultDataTableParserSettings); Assert.True(results.Length == 2); }
public void GetPropertyMappings_TwoPropertiesWithMatchingColumns_ReturnsCollectionWithTwoResults(string column1, string column2) { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns(column1, column2); var results = defaultMappingResolver.GetPropertyMappings <SimpleNoIdNoAttributes>(dt, defaultDataTableParserSettings); Assert.True(results.Length == 2); }
public void HasRoleはInitializeで指定されたテストケースにパラメタセクションがなければfalseを返す() { // setup Sheet sheet = TempActors.Book.GetSheet("HasRole"); DataTableFactory factory = GetDataTableFactory(sheet.GetCase("ロールなし")); // expect Assert.IsFalse(factory.HasRole <object>(null)); }
public void HasRoleは引数のクラスがDictionaryでなければfalseを返す() { // setup Sheet sheet = TempActors.Book.GetSheet("HasRole"); DataTableFactory factory = GetDataTableFactory(sheet.GetCase("ロールあり")); // expect Assert.IsFalse(factory.HasRole <object>(null)); }
public void HasRoleは引数のクラスがDataTableでありかつInitializeで指定されたテストケースにパラメタセクションがあればtrueを返す() { // setup Sheet sheet = TempActors.Book.GetSheet("HasRole"); DataTableFactory factory = GetDataTableFactory(sheet.GetCase("ロールあり")); // expect Assert.IsTrue(factory.HasRole <DataTable>(null)); }
public void GetPropertyMappings_TwoPropertiesOneMatching_ThrowsMissingMappingException() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns("PropertyOne"); DataTableParserSettings dtps = new DataTableParserSettings { MissingMappingHandling = MissingMappingHandling.Error }; Assert.Throws(typeof(MissingMappingException <SimpleNoIdNoAttributes>), () => defaultMappingResolver.GetPropertyMappings <SimpleNoIdNoAttributes>(dt, dtps)); }
public void GetPropertyMappings_MappedClassHasNoProperties_ReturnsEmptyCollection() { string anyName = "random name"; DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns(anyName); ICollection <ExtendedPropertyInfo> results = defaultMappingResolver.GetPropertyMappings <SimpleNoProperties>(dt, defaultDataTableParserSettings); Assert.True(results.Count == 0); }
public Provider(DataTableFactory dataTableFactory, Func <string, string> getQuotedName = null) { ArgumentUtility.CheckNotNull("dataTableFactory", dataTableFactory); this._dataTableFactory = dataTableFactory; if (getQuotedName != null) { this._getQuotedName = getQuotedName; } }
public void GenerateGetAssertHasValue_WithEmptyValue() { //Arrange var dataTable = DataTableFactory.GetDataTableWithOneColumnAndOneRow(string.Empty); // Action var actual = DataTableExtensions.GenerateGetAssertHasValue(dataTable); // Assert Assert.AreEqual($"// Empty values\r\n//row.AssertHasValue<String>(\"{dataTable.Columns[0].ColumnName}\");\r\n", actual); }
public void GetPropertyMappings_TwoAttributesWithOneMatchingColumnErrorOnMissingMapping_ThrowsMissingMappingException() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns("prop1", "PropertyTwo"); DataTableParserSettings dtps = new DataTableParserSettings { MissingMappingHandling = MissingMappingHandling.Error, MappingMatchOrder = MappingMatchOrder.IgnorePropertyNames }; Assert.Throws(typeof(MissingMappingException <SimpleClassWithAttributes>), () => defaultMappingResolver.GetPropertyMappings <SimpleClassWithAttributes>(dt, dtps)); }
public void GetPropertyMappings_OneIdClassNameMappingCaseVaries_ReturnsResults() { string[] columns = { typeof(SimpleIdNoAttributes).Name + "iD", "PropertyOne" }; DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns(columns); var results = defaultMappingResolver.GetPropertyMappings <SimpleIdNoAttributes>(dt, defaultDataTableParserSettings); Assert.True(results.Length == 2); Assert.True(results.Select(r => r.PropertyInfo.Name).Contains("Id", StringComparer.InvariantCultureIgnoreCase)); }
public void GetPropertyMappings_TwoPropertiesOneMatching_MissingMappingHandlingIgnores() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns("PropertyOne"); DataTableParserSettings dtps = new DataTableParserSettings { MissingMappingHandling = MissingMappingHandling.Ignore }; var results = defaultMappingResolver.GetPropertyMappings <SimpleNoIdNoAttributes>(dt, dtps); Assert.True(results.Length == 1); }
private string Biuder() { var table = new DataTableFactory().CreateDataTable(_dataTableConfig.TableClassName, _tableId); //table标签 var tableStr = table.Render(); //外层DIV var divBuilder = new TagBuilder("div"); divBuilder.AddCssClass(_dataTableConfig.DivClassName); divBuilder.InnerHtml = tableStr; return(divBuilder.ToString()); }
public void GetPropertyMappings_OnePropertyWithMatchingColumn_ReturnsCollectionWithCorrectResult() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns("PropertyOne"); ICollection <ExtendedPropertyInfo> results = defaultMappingResolver.GetPropertyMappings <SimpleOnePropertyNoIdNoAttributes>(dt, defaultDataTableParserSettings); ExtendedPropertyInfo propInfo = results.First(); Assert.True(propInfo.FieldName == "PropertyOne"); Assert.True(propInfo.ColumnIndex == 0); }
public void CreateCustomersWithSameName() { RunTestMethod(() => { DataTable customerDataTable = DataTableFactory.Customer(includeConstraints: false); customerDataTable.AddCustomerRow(code: "AAA", customer: "AAA"); customerDataTable.AddCustomerRow(code: "BBB", customer: "AAA"); IDataPortalResult result = DataPortal.Persist__Customer(customerDataTable); Assert.False(result.OK); }); }
public void ToObjects_DataTableWithIncorrectColumnIndexButCorrectColumn_ReturnsCorrectResult(int propertyOne, string propertyTwo) { DataTable dt = DataTableFactory.GenerateEmptyDataTableMatchingObjectProperties <SimpleNoIdNoAttributes>(); dt.Rows.Add(propertyOne, propertyTwo); var mappings = MappingHelper.CreatePropertyMappingsMatchingTable <SimpleNoIdNoAttributes>(dt); var results = dataTableResolver.ToObjects <SimpleNoIdNoAttributes>(DataTableFactory.RowsForTable(dt), dataTypeConverter, mappings, dataTableParserSettings); Assert.Equal(GetAssertObject <int>(propertyOne), results.First().PropertyOne); Assert.Equal(GetAssertObject <string>(propertyTwo), results.First().PropertyTwo); }
public void GetPropertyMappings_ClassWithInheritedProperties_OnlyReturnsImmediateProperties() { string[] columns = { "ParentIntProperty", "ParentStringProperty", "ChildIntProperty", "ChildStringProperty" }; DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns(columns); DataTableParserSettings dtps = new DataTableParserSettings { InheritMappings = false }; var results = defaultMappingResolver.GetPropertyMappings <ChildNoAttributes>(dt, dtps); Assert.True(results.Length == 2); }
public void GetPropertyMappings_ClassWithTwoLevelsOfInheritance_ReturnsAllResults() { string[] columns = { "ParentIntProperty", "ParentStringProperty", "ChildIntProperty", "ChildStringProperty", "LeafIntProperty" }; DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns(columns); DataTableParserSettings dtps = new DataTableParserSettings { InheritMappings = true }; var results = defaultMappingResolver.GetPropertyMappings <LeafClassNoAttributes>(dt, dtps); Assert.True(results.Length == 5); }
public void CreateValidCustomers() { RunTestMethod(() => { DataTable customerDataTable = DataTableFactory.Customer(); customerDataTable.AddCustomerRow(code: "AAA"); customerDataTable.AddCustomerRow(code: "BBB"); IDataPortalResult result = DataPortal.Persist__Customer(customerDataTable); Assert.True(result.OK, $"Database operation returned error: {result.FirstErrorMessage}"); Assert.Equal(2, result.RowsUpdated); }); }
public void GetPropertyMappings_TwoAttributesWithOneMatchingColumnAndPropertyMatch_ReturnsResults() { DataTable dt = DataTableFactory.GenerateEmptyDataTableWithStringColumns("prop1", "PropertyTwo"); DataTableParserSettings dtps = new DataTableParserSettings { MissingMappingHandling = MissingMappingHandling.Error, MappingMatchOrder = MappingMatchOrder.PropertyNameFirst }; var results = defaultMappingResolver.GetPropertyMappings <SimpleClassWithAttributes>(dt, dtps); Assert.True(results.Length == 2); }
public void GetCondition_WithReturnFalseValue() { //Arrange var expectedValue = Guid.NewGuid().ToString(); var dataTable = DataTableFactory.GetDataTableWithOneColumnAndOneRow(expectedValue); int pageNumber = 2; int pageSize = 2; // Action var actual = DataTableExtensions.GetCondition(dataTable, pageNumber, pageSize); // Assert Assert.IsFalse(actual); }