From 738773dc328d258150ac708781637ed39c2cc304 Mon Sep 17 00:00:00 2001 From: Gabriel Comte Date: Mon, 30 Mar 2026 08:53:37 +0200 Subject: [PATCH] Fix argument accumulation bug in integration test The test reused a single Command, causing args to accumulate across cases. Each argument-count scenario now uses a fresh Command. --- tests/int_tests.rs | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/tests/int_tests.rs b/tests/int_tests.rs index 9a839ae..f3db6b6 100644 --- a/tests/int_tests.rs +++ b/tests/int_tests.rs @@ -1,20 +1,29 @@ use assert_cmd::cargo; #[test] -fn test_different_amount_of_arguments() { +fn test_no_arguments() { let mut cmd = cargo::cargo_bin_cmd!("bitcoinvert"); - - // No argument cmd.assert().success(); +} - // 1 argument - cmd.args(vec!["1"]).assert().success(); +#[test] +fn test_one_argument() { + let mut cmd = cargo::cargo_bin_cmd!("bitcoinvert"); + cmd.args(["1"]).assert().success(); +} - // 2 arguments - cmd.args(vec!["BTC"]).assert().success(); +#[test] +fn test_two_arguments() { + let mut cmd = cargo::cargo_bin_cmd!("bitcoinvert"); + cmd.args(["1", "BTC"]).assert().success(); +} - // 3 arguments - cmd.args(vec!["SAT"]).assert().stdout("100,000,000 SAT\n"); +#[test] +fn test_three_arguments() { + let mut cmd = cargo::cargo_bin_cmd!("bitcoinvert"); + cmd.args(["1", "BTC", "SAT"]) + .assert() + .stdout("100,000,000 SAT\n"); } #[test]