use crate::util::*;
testcase!(test);
fn test(mut glue: multisql::Glue) {
execute!(
glue,
"
CREATE TABLE Item (
id INTEGER NULL,
flag BOOLEAN,
ratio FLOAT NULL,
number TEXT
)
"
);
execute!(glue, "INSERT INTO Item VALUES (0, TRUE, NULL, '1')");
assert_select!(glue, "
SELECT CAST(LOWER(number) AS INTEGER) AS cast FROM Item
" => cast = I64: (1)
);
assert_select!(glue, "
SELECT CAST(id AS BOOLEAN) AS cast FROM Item
" => cast = Bool: (false)
);
assert_select!(glue, "
SELECT CAST(flag AS TEXT) AS cast FROM Item
" => cast = Str: (String::from("true"))
);
}