gluesql_test_suite/data_type/
uint32.rs

1use {
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});