rincon_core 0.1.0

Core lib for the ArangoDB driver
Documentation

use api::types::Value;
use super::*;

#[test]
fn query_set_string_parameter() {
    let mut query = Query::new("FOR u IN users FILTER u.name = @name RETURN u.name");
    query.set_parameter("name", "simone");

    assert_eq!(Some(&"simone".to_owned()), query.parameter("name"));
}

#[test]
fn query_set_bool_parameter() {
    let mut query = Query::new("FOR u IN users FILTER u.active = @active RETURN u.name");
    query.set_parameter("active", true);

    assert_eq!(Some(&true), query.parameter("active"));
}

#[test]
fn query_set_i8_parameter() {
    let mut query = Query::new("FOR u IN users FILTER u.id = @id RETURN u.name");
    query.set_parameter("id".to_owned(), Value::I8(-1));

    assert_eq!(Some(&-1i8), query.parameter("id"));
}

#[test]
fn query_set_i64_parameter() {
    let mut query = Query::new("FOR u IN users FILTER u.id = @id RETURN u.name");
    query.set_parameter("id", -1828359i64);

    assert_eq!(Some(&-1828359i64), query.parameter("id"));
}

#[test]
fn query_set_vec_of_f32_parameter() {
    let mut query = Query::new("FOR u IN users FILTER u.id in @ids RETURN u.name");
    let ids = vec![1.1, 2.2, 3.3, 4.4, 5.5];
    query.set_parameter("ids", Value::VecF32(ids));

    assert_eq!(Some(&vec![1.1f32, 2.2, 3.3, 4.4, 5.5]), query.parameter("ids"));
}

#[test]
fn query_set_vec_of_u64_parameter() {
    let mut query = Query::new("FOR u IN users FILTER u.id in @ids RETURN u.name");
    let ids: Vec<u64> = vec![1, 2, 3, 4, 5];
    query.set_parameter("ids", ids);

    assert_eq!(Some(&vec![1u64, 2, 3, 4, 5]), query.parameter("ids"));
}