gluesql_test_suite/data_type/
uint32.rs1use {
2 crate::*,
3 gluesql_core::{error::ValueError, prelude::Value::*},
4};
5
6test_case!(uint32, {
7 let g = get_tester!();
8
9 g.run(
10 "CREATE TABLE Item (
11 field_one UINT32,
12 field_two UINT32
13 );",
14 )
15 .await;
16 g.run(r#"INSERT INTO Item VALUES (1, 1), (2, 2), (3, 3), (4, 4);"#)
17 .await;
18
19 g.test(
20 "INSERT INTO Item VALUES (4294967296,4294967296);",
21 Err(ValueError::FailedToParseNumber.into()),
22 )
23 .await;
24
25 g.test(
26 "INSERT INTO Item VALUES (-32769, -32769);",
27 Err(ValueError::FailedToParseNumber.into()),
28 )
29 .await;
30 g.test(
31 "SELECT field_one, field_two FROM Item",
32 Ok(select!(
33 field_one | field_two
34 U32 | U32;
35 1 1;
36 2 2;
37 3 3;
38 4 4
39 )),
40 )
41 .await;
42 g.test(
43 "SELECT field_one FROM Item WHERE field_one > 0",
44 Ok(select!(field_one U32; 1; 2;3;4)),
45 )
46 .await;
47 g.test(
48 "SELECT field_one FROM Item WHERE field_one >= 0",
49 Ok(select!(field_one U32; 1; 2;3;4)),
50 )
51 .await;
52 g.test(
53 "SELECT field_one FROM Item WHERE field_one = 2",
54 Ok(select!(field_one U32; 2)),
55 )
56 .await;
57});