public void NaturalizeNames_FieldNameTest() { Pattern.LanguageSettings.KeywordsCaseSensitive = true; var analyzer = new SchemaAnalyzer_Accessor(Project, Pattern, Database); var table = new DbTable("tbl_Test"); var col0 = new DbColumn("Test_Other"); var col1 = new DbColumn("Test_Col"); var col2 = new DbColumn("Test_Col"); var col3 = new DbColumn("Test_Col"); var col4 = new DbColumn("Test_Col"); var col5 = new DbColumn("Test_Col"); table.SchemaColumns.AddRange(new[] { col0, col1, col2, col3, col4, col5 }); foreach (var col in table.SchemaColumns) { col.FieldNameSchema = analyzer.NaturalizeNames_FieldName(table, col, col.FieldNameSchema, true); } Assert.AreEqual("Test_Col", col1.FieldNameSchema); Assert.AreEqual("Test_Col_", col2.FieldNameSchema); Assert.AreEqual("Test_Col_3", col5.FieldNameSchema); }
public void NaturalizeNames_ForeignTableFieldNameTest() { Pattern.LanguageSettings.KeywordsCaseSensitive = true; var analyzer = new SchemaAnalyzer_Accessor(Project, Pattern, Database); var table = new DbTable("tbl_Test"); var foreignKey0 = new DbForeignKey() { ForeignTableName = "tblOthers" }; var foreignKey1 = new DbForeignKey() { ForeignTableName = "tblTest" }; var foreignKey2 = new DbForeignKey() { ForeignTableName = "tblTest" }; var foreignKey3 = new DbForeignKey() { ForeignTableName = "tblTest" }; var foreignKey4 = new DbForeignKey() { ForeignTableName = "tblTest" }; var foreignKey5 = new DbForeignKey() { ForeignTableName = "tblTest" }; var foreignKey6 = new DbForeignKey() { ForeignTableName = "tblTest" }; table.ForeignKeys.AddRange(new[] { foreignKey0, foreignKey1, foreignKey2, foreignKey3, foreignKey4, foreignKey5, foreignKey6, }); foreach (var key in table.ForeignKeys) { key.ForeignTableNameInLocalTable = analyzer.NaturalizeNames_ForeignTableFieldName(table, key); } Assert.AreEqual("tblTest", foreignKey1.ForeignTableNameInLocalTable); Assert.AreEqual("tblTest_", foreignKey2.ForeignTableNameInLocalTable); }
public void NaturalizeNames_FieldNameTest_SameAsParent() { Pattern.LanguageSettings.KeywordsCaseSensitive = true; var analyzer = new SchemaAnalyzer_Accessor(Project, Pattern, Database); var table = new DbTable("SameName"); var col1 = new DbColumn("SameName"); var col2 = new DbColumn("SameName"); var col3 = new DbColumn("SameName"); table.SchemaColumns.AddRange(new[] { col1, col2, col3, }); foreach (var col in table.SchemaColumns) { col.FieldNameSchema = analyzer.NaturalizeNames_FieldName(table, col, col.FieldNameSchema, true); } Assert.AreEqual("SameName_", col1.FieldNameSchema); Assert.AreEqual("SameName_1", col2.FieldNameSchema); }
public void NaturalizeNames_TableSchemaName_DuplicateTest_ForView() { Pattern.LanguageSettings.KeywordsCaseSensitive = true; var analyzer = new SchemaAnalyzer_Accessor(Project, Pattern, Database); var table0 = new DbView("tbl_Other"); var table1 = new DbView("tbl_Test"); var table2 = new DbView("tbl_Test"); var table3 = new DbView("tbl_Test"); var table4 = new DbView("tbl_Test"); var table5 = new DbView("tbl_Test"); var table6 = new DbView("tbl_Test"); Database.SchemaViews.AddRange(new[] { table0, table1, table2, table3, table4, table5, table6, }); try { foreach (var dbTable in Database.SchemaViews) { dbTable.TableNameSchema = analyzer.NaturalizeNames_TableSchemaName_Duplicate(dbTable, true); } } finally { Database.SchemaViews.Clear(); } Assert.AreEqual("tbl_Test", table1.TableNameSchema); Assert.AreEqual("tbl_Test_", table2.TableNameSchema); Assert.AreEqual("tbl_Test_1", table3.TableNameSchema); Assert.AreEqual("tbl_Test_2", table4.TableNameSchema); }
public void Determine_DataTypeNullableTest() { var analyzer = new SchemaAnalyzer_Accessor(Project, Pattern, Database); var dbColumn = new DbColumn("testField"); dbColumn.DataTypeDotNet = "String"; Assert.IsTrue(analyzer.Determine_DataTypeNullable(dbColumn)); dbColumn.DataTypeDotNet = "Object"; Assert.IsTrue(analyzer.Determine_DataTypeNullable(dbColumn)); dbColumn.DataTypeDotNet = "Object[]"; Assert.IsTrue(analyzer.Determine_DataTypeNullable(dbColumn)); dbColumn.DataTypeDotNet = "Int32"; Assert.IsFalse(analyzer.Determine_DataTypeNullable(dbColumn)); dbColumn.DataTypeDotNet = "System.Guid"; Assert.IsFalse(analyzer.Determine_DataTypeNullable(dbColumn)); dbColumn.DataTypeDotNet = "Microsoft.SqlServer.Types.FooType"; Assert.IsFalse(analyzer.Determine_DataTypeNullable(dbColumn)); }