1 // Copyright © 2025 Cyberus Technology GmbH 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 // 5 6 //! Test utilities. 7 8 use std::cmp::Ordering; 9 10 use clap::Arg; 11 12 /// Ensures that all [`Arg`]s are sorted alphabetically. 13 pub fn assert_args_sorted<'a, F: Fn() -> R, R: Iterator<Item = &'a Arg>>(get_base_iter: F) { 14 let iter = get_base_iter().zip(get_base_iter().skip(1)); 15 for (arg, next) in iter { 16 assert_ne!( 17 arg.get_id().cmp(next.get_id()), 18 Ordering::Greater, 19 "args not alphabetically sorted: arg={}, next={}", 20 arg.get_id(), 21 next.get_id() 22 ); 23 } 24 } 25