From a68a7259585e6afca7ae97b0772edb5076c647de Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 19 Jun 2025 17:04:48 -0700 Subject: [PATCH] fix test --- rust/pspp/src/sys/cooked.rs | 13 +++++++++++ ...onse_sets_duplicate_variable_name.expected | 22 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/rust/pspp/src/sys/cooked.rs b/rust/pspp/src/sys/cooked.rs index dcac4af6bd..e74b7334da 100644 --- a/rust/pspp/src/sys/cooked.rs +++ b/rust/pspp/src/sys/cooked.rs @@ -124,6 +124,12 @@ pub enum Error { short_name: Identifier, }, + #[error("Multiple response set {mr_set} includes variable {variable} more than once.")] + DuplicateMrSetVariable { + mr_set: Identifier, + variable: Identifier, + }, + #[error("Multiple response set {0} has no variables.")] EmptyMrSet(Identifier), @@ -1027,6 +1033,13 @@ impl MultipleResponseSet { }); continue; }; + if variables.contains(&dict_index) { + warn(Error::DuplicateMrSetVariable { + mr_set: mr_set_name.clone(), + variable: dictionary.variables[dict_index].name.clone(), + }); + continue; + } variables.push(dict_index); } diff --git a/rust/pspp/src/sys/testdata/multiple_response_sets_duplicate_variable_name.expected b/rust/pspp/src/sys/testdata/multiple_response_sets_duplicate_variable_name.expected index e69de29bb2..e5a0854dc6 100644 --- a/rust/pspp/src/sys/testdata/multiple_response_sets_duplicate_variable_name.expected +++ b/rust/pspp/src/sys/testdata/multiple_response_sets_duplicate_variable_name.expected @@ -0,0 +1,22 @@ +Multiple response set $a includes variable NUM1 more than once. + +Multiple response set $a has only one variable. + +╭──────────────────────┬────────────────────────╮ +│ Created │ 01-JAN-2011 20:53:52│ +├──────────────────────┼────────────────────────┤ +│Writer Product │PSPP synthetic test file│ +├──────────────────────┼────────────────────────┤ +│ Compression │SAV │ +│ Number of Cases│Unknown │ +╰──────────────────────┴────────────────────────╯ + +╭─────────┬─╮ +│Variables│1│ +╰─────────┴─╯ + +╭────┬────────┬─────┬─────────────────┬─────┬─────┬─────────┬────────────┬────────────┬──────────────╮ +│ │Position│Label│Measurement Level│ Role│Width│Alignment│Print Format│Write Format│Missing Values│ +├────┼────────┼─────┼─────────────────┼─────┼─────┼─────────┼────────────┼────────────┼──────────────┤ +│num1│ 1│ │ │Input│ 8│Right │F8.0 │F8.0 │ │ +╰────┴────────┴─────┴─────────────────┴─────┴─────┴─────────┴────────────┴────────────┴──────────────╯ -- 2.30.2