Files
libloot/array-parameterized-test
Oliver Hamlet 08a0487880 Be more permissive with dependency versions
The tests all pass when using the bottom of the new version ranges on Windows.

The unicase dependency's lower bound is limited by rust-ini even after using the latest master branch versions of esplugin, libloadorder and loot-condition-interpreter.

The proc-macro2 and quote dependencies' lower bounds are limited by pyo3's dependency tree.

The nodejs wrapper's dependencies haven't been touched.
2025-09-29 21:25:10 +01:00
..

array-parameterized-test

A few macros to support parameterized test cases where the inputs are defined using an const array. This can be used to concisely define several different parameterized tests that share the same set of inputs.

Use it like this:

use array_parameterized_test::{test_parameter, parameterized_test};

#[test_parameter]
const INT_INPUTS: [u32; 2] = [1, 2];

#[parameterized_test(INT_INPUTS)]
fn test_with_ints(value: u32) {
    assert!(value > 0 && value < 3);
}

which produces tests that look like this:

test test_with_ints::_1 ... ok
test test_with_ints::_2 ... ok

See the tests for more examples.

The macros that implement this functionality may not work with arbitrary array element types. They've been tested with:

  • u32
  • &str
  • (u32, bool)
  • Unit-only enums