From 02431052ac1d073b2b2155085a2f610dc9acba5b Mon Sep 17 00:00:00 2001 From: Nico Wagner Date: Wed, 12 Feb 2025 05:56:09 +0100 Subject: [PATCH] feat(frequency): add `freq` alias (#904) Signed-off-by: Nico Wagner --- crates/pica-cli/src/commands/frequency.rs | 1 + crates/pica-cli/tests/frequency/mod.rs | 20 ++++++++++++++++++++ docs/book/commands/frequency.qmd | 12 ++++++------ 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/crates/pica-cli/src/commands/frequency.rs b/crates/pica-cli/src/commands/frequency.rs index 2c768e991..b200c1882 100644 --- a/crates/pica-cli/src/commands/frequency.rs +++ b/crates/pica-cli/src/commands/frequency.rs @@ -25,6 +25,7 @@ use crate::prelude::*; /// requires the {}-notation and is expected at the first position (e.g. /// "044H/*{b == 'GND' && 9?, 9}"). #[derive(Parser, Debug)] +#[clap(visible_alias = "freq")] pub(crate) struct Frequency { /// Skip invalid records that can't be decoded as normalized PICA+. #[arg(long, short)] diff --git a/crates/pica-cli/tests/frequency/mod.rs b/crates/pica-cli/tests/frequency/mod.rs index 58f834d60..9fb5baa5a 100644 --- a/crates/pica-cli/tests/frequency/mod.rs +++ b/crates/pica-cli/tests/frequency/mod.rs @@ -26,6 +26,26 @@ fn frequency_stdout() -> TestResult { Ok(()) } +#[test] +fn frequency_alias() -> TestResult { + let mut cmd = Command::cargo_bin("pica")?; + let assert = cmd + .args(["freq", "-s", "002@.0"]) + .arg(data_dir().join("algebra.dat")) + .arg(data_dir().join("invalid.dat")) + .arg(data_dir().join("ada.dat")) + .arg(data_dir().join("ada.dat")) + .assert(); + + assert + .success() + .code(0) + .stdout(predicates::ord::eq("Tp1,2\nTs1,1\n")) + .stderr(predicates::str::is_empty()); + + Ok(()) +} + #[test] fn frequency_output() -> TestResult { let mut cmd = Command::cargo_bin("pica")?; diff --git a/docs/book/commands/frequency.qmd b/docs/book/commands/frequency.qmd index be0d5489d..753c5365c 100644 --- a/docs/book/commands/frequency.qmd +++ b/docs/book/commands/frequency.qmd @@ -1,11 +1,11 @@ # frequency {.unnumbered} -Das Kommando `frequency` wird dazu genutzt, um die Häufigkeiten der Werte ein -oder mehrerer Unterfelder zu bestimmen. Ist das zu untersuchende Feld bzw. -Unterfeld wiederholbar, gehen alle Wertausprägungen eines Datensatzes in die -Häufigkeitsverteilung ein. Die Ausgabe erfolgt standardmäßig im CSV-Format. Im -folgenden Beispiel wird die Häufigkeitsverteilung des Unterfelds `002@.0` -(Satzart) ermittelt: +Das Kommando `frequency` (Alias `freq`) wird dazu genutzt, um die Häufigkeiten +der Werte ein oder mehrerer Unterfelder zu bestimmen. Ist das zu untersuchende +Feld bzw. Unterfeld wiederholbar, gehen alle Wertausprägungen eines Datensatzes +in die Häufigkeitsverteilung ein. Die Ausgabe erfolgt standardmäßig im +CSV-Format. Im folgenden Beispiel wird die Häufigkeitsverteilung des Unterfelds +`002@.0` (Satzart) ermittelt: ```{.bash} $ pica frequency -s "002@.0" DUMP.dat.gz