Issue 1787 (#1827)

This commit is contained in:
Alexander James
2020-05-23 18:08:39 -06:00
committed by GitHub
parent 460daf029b
commit aadbcf5ce8
6 changed files with 227 additions and 10 deletions

View File

@ -1,6 +1,7 @@
use nu_test_support::fs::Stub::FileWithContentToBeTrimmed;
use nu_test_support::playground::Playground;
use nu_test_support::{nu, pipeline};
use std::str::FromStr;
#[test]
fn all() {
@ -60,3 +61,52 @@ fn outputs_zero_with_no_input() {
assert_eq!(actual.out, "0");
})
}
#[test]
fn compute_sum_of_individual_row() -> Result<(), String> {
let answers_for_columns = [
("cpu", 88.257434),
("mem", 3032375296.),
("virtual", 102579965952.),
];
for (column_name, expected_value) in answers_for_columns.iter() {
let actual = nu!(
cwd: "tests/fixtures/formats/",
format!("open sample-ps-output.json | select {} | sum | get {}", column_name, column_name)
);
let result =
f64::from_str(&actual.out).map_err(|_| String::from("Failed to parse float."))?;
assert_eq!(result, *expected_value);
}
Ok(())
}
#[test]
fn compute_sum_of_table() -> Result<(), String> {
let answers_for_columns = [
("cpu", 88.257434),
("mem", 3032375296.),
("virtual", 102579965952.),
];
for (column_name, expected_value) in answers_for_columns.iter() {
let actual = nu!(
cwd: "tests/fixtures/formats/",
format!("open sample-ps-output.json | select cpu mem virtual | sum | get {}", column_name)
);
let result =
f64::from_str(&actual.out).map_err(|_| String::from("Failed to parse float."))?;
assert_eq!(result, *expected_value);
}
Ok(())
}
#[test]
fn sum_of_a_row_containing_a_table_is_an_error() {
let actual = nu!(
cwd: "tests/fixtures/formats/",
"open sample-sys-output.json | sum"
);
assert!(actual
.err
.contains("Attempted to compute the sum of a value that cannot be summed."));
}