duckscriptsdk 0.11.1

The duckscript SDK.
Documentation
use super::*;
use crate::sdk::std::collections::{array, array_length};
use crate::sdk::std::release;
use crate::sdk::std::scope::clear;
use crate::sdk::std::string::equals;
use crate::test;
use crate::test::CommandValidation;

#[test]
fn common_functions() {
    test::test_common_command_functions(create("").unwrap());
}

#[test]
fn run_not_empty() {
    let context = test::run_script_and_validate(
        vec![
            create("").unwrap(),
            clear::create(""),
            release::create(""),
            array::create(""),
            array_length::create(""),
            equals::create(""),
        ],
        r#"
        values = array a b c
        out = array_is_empty ${values}
        release ${values}
        "#,
        CommandValidation::Match("out".to_string(), "false".to_string()),
    );

    assert_eq!(context.variables.len(), 2);
    test::is_handles_empty(&context.state);
}

#[test]
fn run_empty() {
    let context = test::run_script_and_validate(
        vec![
            create("").unwrap(),
            clear::create(""),
            release::create(""),
            array::create(""),
            array_length::create(""),
            equals::create(""),
        ],
        r#"
        values = array
        out = array_is_empty ${values}
        release ${values}
        "#,
        CommandValidation::Match("out".to_string(), "true".to_string()),
    );

    assert_eq!(context.variables.len(), 2);
    test::is_handles_empty(&context.state);
}