public static void ColumnToPropertyName_GivenNullOrWhiteSpaceColumnName_ThrowsArgumentNullException(string columnName)
        {
            const string className      = "test";
            var          nameTranslator = new CamelCaseNameTranslator();

            Assert.That(() => nameTranslator.ColumnToPropertyName(className, null), Throws.ArgumentNullException);
        }
        public static void SchemaToNamespace_GivenNullSchema_ReturnsNull()
        {
            var nameTranslator = new CamelCaseNameTranslator();
            var testName       = new Identifier("test");

            var result = nameTranslator.SchemaToNamespace(testName);

            Assert.That(result, Is.Null);
        }
        public static void TableToClassName_GivenPascalCasedSchemaName_ReturnsCamelCasedText()
        {
            var          nameTranslator = new CamelCaseNameTranslator();
            var          testName       = new Identifier("FirstSecond");
            const string expected       = "firstSecond";

            var result = nameTranslator.TableToClassName(testName);

            Assert.That(result, Is.EqualTo(expected));
        }
        public static void TableToClassName_GivenSpaceSeparatedLocalName_ReturnsSpaceRemovedText()
        {
            var          nameTranslator = new CamelCaseNameTranslator();
            var          testName       = new Identifier("first second");
            const string expected       = "firstsecond";

            var result = nameTranslator.TableToClassName(testName);

            Assert.That(result, Is.EqualTo(expected));
        }
        public static void SchemaToNamespace_GivenUnderscoreSeparatedSchemaName_ReturnsCamelCasedText()
        {
            var          nameTranslator = new CamelCaseNameTranslator();
            var          testName       = new Identifier("first_second", "test");
            const string expected       = "firstSecond";

            var result = nameTranslator.SchemaToNamespace(testName);

            Assert.That(result, Is.EqualTo(expected));
        }
        public static void ColumnToPropertyName_GivenTransformedNameMatchingClassName_ReturnsUnderscoreAppendedColumnName()
        {
            var nameTranslator = new CamelCaseNameTranslator();

            const string className = "firstSecond";
            const string testName  = "FirstSecond";
            const string expected  = "firstSecond_";

            var result = nameTranslator.ColumnToPropertyName(className, testName);

            Assert.That(result, Is.EqualTo(expected));
        }
        public static void ColumnToPropertyName_GivenPascalCasedSchemaName_ReturnsCamelCasedText()
        {
            var nameTranslator = new CamelCaseNameTranslator();

            const string className = "test";
            const string testName  = "FirstSecond";
            const string expected  = "firstSecond";

            var result = nameTranslator.ColumnToPropertyName(className, testName);

            Assert.That(result, Is.EqualTo(expected));
        }
        public static void SchemaToNamespace_GivenNullName_ThrowsArgumentNullException()
        {
            var nameTranslator = new CamelCaseNameTranslator();

            Assert.That(() => nameTranslator.SchemaToNamespace(null), Throws.ArgumentNullException);
        }
        public static void TableToClassName_GivenNullName_ThrowsArgumentNullException()
        {
            var nameTranslator = new CamelCaseNameTranslator();

            Assert.That(() => nameTranslator.TableToClassName(null), Throws.ArgumentNullException);
        }