public void Constructor_PairsHasCorrectValues_FillDataIgnoringCase()
        {
            var connectionString     = $"Database=MyDatabase;User Id=John;Password=FrGnT";
            var testConnectionString = new SharpHsqlConnectionString(connectionString);

            Assert.AreEqual("mydatabase", testConnectionString.Database);
            Assert.AreEqual("john", testConnectionString.UserName);
            Assert.AreEqual("frgnt", testConnectionString.UserPassword);
        }
        public void Constructor_PasswordPairMissing_SetEmptyPassword()
        {
            var connectionString     = "database=mydb;user id=sa;";
            var testConnectionString = new SharpHsqlConnectionString(connectionString);

            Assert.AreEqual("mydb", testConnectionString.Database);
            Assert.AreEqual("sa", testConnectionString.UserName);
            Assert.AreEqual(string.Empty, testConnectionString.UserPassword);
        }
        public void Constructor_PairsHasCorrectKeys_FillDataIgnoringCase(string dbKey, string userKey, string passwordKey)
        {
            var connectionString     = $"{dbKey}=mydb;{userKey}=sa;{passwordKey}=dfg";
            var testConnectionString = new SharpHsqlConnectionString(connectionString);

            Assert.AreEqual("mydb", testConnectionString.Database);
            Assert.AreEqual("sa", testConnectionString.UserName);
            Assert.AreEqual("dfg", testConnectionString.UserPassword);
        }
        public void Constructor_DatabaseNameIsEmpty_ThrowArgumentException()
        {
            var connectionString = "database=;uid=sa;password="******"Expected exception of type ArgumentException.");
            }
            catch (ArgumentException aex)
            {
                Assert.IsTrue(aex.Message.StartsWith("Database parameter is invalid in connection string."));
                Assert.AreEqual("connectionString", aex.ParamName);
            }
        }
        public void Constructor_InsufficientPairOfValues_ThrowArgumentException()
        {
            var connectionString = "myDb=rt;dd;";

            try
            {
                var testConnectionString = new SharpHsqlConnectionString(connectionString);
                Assert.Fail("Expected exception of type ArgumentException.");
            }
            catch (ArgumentException aex)
            {
                Assert.IsTrue(aex.Message.StartsWith("The connection string has an invalid parameter."));
                Assert.AreEqual("connectionString", aex.ParamName);
            }
        }