public string submitQuerySQL(string sql, out DataTable answerSet)
        {
            SqlQuery rawQuery = new SqlQuery(sql);
            QueryType qType = rawQuery.ProcessType();
            answerSet = null;
            switch (qType)
            {
                case QueryType.INSERT:
                    var query = new SqlInsertQuery(sql);
                    query.ProcessAndPopulateEachField();
                    var iHandler = new InsertQueryHandler(query, underlineDatabase);
                    answerSet = iHandler.HandleInsertQuery();
                    break;
                case QueryType.SELECT:
                    var squery = new SqlSelectQuery(sql);
                    var sHandler = new SelectQueryHandler(squery, underlineDatabase);
                    answerSet = sHandler.HandleSelectSqlQuery();
                    break;
                case QueryType.CREATE:
                    var cquery = new SqlCreateTableQuery(sql);
                    var handler = new CreateTableHandler(cquery,underlineDatabase);
                    answerSet = handler.HandleCreateTableQuery();
                    break;
                default:
                    break;
            }

            return "end of submitSQL function";
        }
        public void TestNormalSqlCreateTable()
        {
            string sentences = "CREATE TABLE Car (RegId int, Colour varchar(255), Mileage float)";

            SqlCreateTableQuery query = new SqlCreateTableQuery(sentences);

            Assert.IsTrue(query.TableName == "Car");
            Assert.IsTrue(query.AttributeNames.Count == 3);
            Assert.IsTrue(query.AttributeNames[0] == "RegId");
            Assert.IsTrue(query.AttributeNames[1] == "Colour");
            Assert.IsTrue(query.AttributeNames[2] == "Mileage");
            Assert.IsTrue(query.AttributeTypes[0] == "int");
            Assert.IsTrue(query.AttributeTypes[1] == "varchar(255)");
            Assert.IsTrue(query.AttributeTypes[2] == "float");
        }