forked from extern/nushell
e278ca61d1
* commands: any? all? We can check if `any` (or `all`) rows of tables match predicates. Small `all?` example: Given the following table with `services` running: ``` > echo [[status]; [UP] [UP]] ───┬──────── # │ status ───┼──────── 0 │ UP 1 │ UP ───┴──────── ``` We can ask if all services are UP, like so: ``` > echo [[status]; [UP] [UP]] | all? status == UP true ``` * Fix any? signature.
42 lines
1.2 KiB
Rust
42 lines
1.2 KiB
Rust
use nu_test_support::pipeline as input;
|
|
use nu_test_support::playground::{says, Playground};
|
|
|
|
use hamcrest2::assert_that;
|
|
use hamcrest2::prelude::*;
|
|
|
|
#[test]
|
|
fn checks_any_row_is_true() {
|
|
Playground::setup("any_test_1", |_, nu| {
|
|
assert_that!(
|
|
nu.pipeline(&input(
|
|
r#"
|
|
echo [ "Ecuador", "USA", "New Zealand" ]
|
|
| any? $it == "New Zealand"
|
|
"#
|
|
)),
|
|
says().to_stdout("true")
|
|
);
|
|
})
|
|
}
|
|
|
|
#[test]
|
|
fn checks_any_column_of_a_table_is_true() {
|
|
Playground::setup("any_test_1", |_, nu| {
|
|
assert_that!(
|
|
nu.pipeline(&input(
|
|
r#"
|
|
echo [
|
|
[ first_name, last_name, rusty_at, likes ];
|
|
[ Andrés, Robalino, 10/11/2013, 1 ]
|
|
[ Jonathan, Turner, 10/12/2013, 1 ]
|
|
[ Darren, Schroeder, 10/11/2013, 1 ]
|
|
[ Yehuda, Katz, 10/11/2013, 1 ]
|
|
]
|
|
| any? rusty_at == 10/12/2013
|
|
"#
|
|
)),
|
|
says().to_stdout("true")
|
|
);
|
|
})
|
|
}
|