HyriseSQLParser/src/sql_tests.cpp

38 lines
915 B
C++
Raw Normal View History

2014-10-09 01:30:22 +02:00
/*
* sql_tests.cpp
*/
#include "SQLParser.h"
2014-11-26 16:20:55 +01:00
#include "tests/test.h"
2014-10-09 01:30:22 +02:00
2014-11-26 16:20:55 +01:00
using namespace hsql;
2014-10-09 01:30:22 +02:00
2014-11-26 16:20:55 +01:00
TEST(SelectTest) {
StatementList* stmt_list = SQLParser::parseSQLString("SELECT * FROM students;");
ASSERT(stmt_list->isValid);
ASSERT(stmt_list->size() == 1);
ASSERT(stmt_list->at(0)->type == kStmtSelect);
2014-10-09 01:30:22 +02:00
2014-11-26 16:20:55 +01:00
SelectStatement* stmt = (SelectStatement*) stmt_list->at(0);
ASSERT(stmt->where_clause == NULL);
2014-10-09 01:30:22 +02:00
}
2014-11-26 16:20:55 +01:00
TEST(DeleteTest) {
StatementList* stmt_list = SQLParser::parseSQLString("DELETE FROM students WHERE grade > 2.0;");
ASSERT(stmt_list->isValid);
ASSERT(stmt_list->size() == 1);
ASSERT(stmt_list->at(0)->type == kStmtDelete);
2014-10-09 01:30:22 +02:00
2014-11-26 16:20:55 +01:00
DeleteStatement* stmt = (DeleteStatement*) stmt_list->at(0);
ASSERT_STREQ(stmt->table_name, "students");
ASSERT(stmt->expr != NULL);
ASSERT(stmt->expr->isType(kExprOperator));
ASSERT_STREQ(stmt->expr->expr->name, "grade");
ASSERT_EQ(stmt->expr->expr2->fval, 2.0);
2014-10-09 01:30:22 +02:00
}