Skip to main content

assert_sometimes_each

Macro assert_sometimes_each 

Source
macro_rules! assert_sometimes_each {
    ($msg:expr, [ $(($name:expr, $val:expr)),+ $(,)? ]) => { ... };
    ($msg:expr, [ $(($name:expr, $val:expr)),+ $(,)? ], [ $(($qname:expr, $qval:expr)),+ $(,)? ]) => { ... };
}
Expand description

Per-value bucketed sometimes assertion with optional quality watermarks.

Each unique combination of identity keys gets its own bucket. On first discovery of a new bucket, a fork is triggered for exploration. If quality keys are provided, re-forks when quality improves.

§Usage

// Identity keys only
assert_sometimes_each!("gate", [("lock", lock_id), ("depth", depth)]);

// With quality watermarks
assert_sometimes_each!("descended", [("to_floor", floor)], [("health", hp)]);