gluesql_test_suite/function/
pi.rs

1use {
2    crate::*,
3    gluesql_core::{error::TranslateError, prelude::Value::*},
4};
5
6test_case!(pi, {
7    let g = get_tester!();
8
9    let test_cases = [
10        (
11            "SELECT PI() AS pi",
12            Ok(select!(
13                pi
14                F64;
15                std::f64::consts::PI
16            )),
17        ),
18        (
19            "SELECT PI(0) AS pi",
20            Err(TranslateError::FunctionArgsLengthNotMatching {
21                name: "PI".to_owned(),
22                expected: 0,
23                found: 1,
24            }
25            .into()),
26        ),
27    ];
28
29    for (sql, expected) in test_cases {
30        g.test(sql, expected).await;
31    }
32});