public void ToComponentColumNameComponentNamePropertyNameTest() { NamingConventionsConfig config = new NamingConventionsConfig(null); NamingEngine namingEngine = new NamingEngine(config); var parentProperty = typeof(Customer).GetMember("Address").FirstOrDefault(); var childProperty = typeof(Address).GetMember("Street").FirstOrDefault(); // Column Name => Default config.UseConventionForColumnNames(ColumnsNamingConvention.Default); config.UseConventionForComponentColumnNames(ComponentsColumnsNamingConvention.ComponentNamePropertyName); string result = namingEngine.ToComponentColumnName(childProperty, parentProperty); Assert.AreEqual("AddressStreet", result); // Column Name => Camel Case config.UseConventionForColumnNames(ColumnsNamingConvention.CamelCase); result = namingEngine.ToComponentColumnName(childProperty, parentProperty); Assert.AreEqual("addressStreet", result); // Column Name => Pascal Case config.UseConventionForColumnNames(ColumnsNamingConvention.PascalCase); result = namingEngine.ToComponentColumnName(childProperty, parentProperty); Assert.AreEqual("AddressStreet", result); // Column Name => Uppercase Underscore Separated config.UseConventionForColumnNames(ColumnsNamingConvention.Uppercase); result = namingEngine.ToComponentColumnName(childProperty, parentProperty); Assert.AreEqual("ADDRESS_STREET", result); // Column Name => Lowercase Underscore Separated config.UseConventionForColumnNames(ColumnsNamingConvention.Lowercase); result = namingEngine.ToComponentColumnName(childProperty, parentProperty); Assert.AreEqual("address_street", result); // Column Name => Custom config.UseCustomConventionForComponentColumnNames((c, p) => { Assert.AreEqual(childProperty, p); Assert.AreEqual(typeof(Address), c); return "CustomColumnName"; }); result = namingEngine.ToComponentColumnName(childProperty, parentProperty); Assert.AreEqual("CustomColumnName", result); }