bitflags::bitflags! {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct AcquireLicenseOptions: i32 {
const NONE = 0;
const SUPPRESS_STARTUP_DIALOG = 1;
const SUPPRESS_STARTUP_DIALOG_IF_ALREADY_SHOWN = 2;
const SHOW_EXIT_BUTTON = 4;
}
}
#[cfg(test)]
mod tests {
use super::AcquireLicenseOptions;
#[test]
fn the_documented_bits_are_what_the_engine_expects() {
assert_eq!(AcquireLicenseOptions::NONE.bits(), 0);
assert_eq!(AcquireLicenseOptions::SUPPRESS_STARTUP_DIALOG.bits(), 1);
assert_eq!(
AcquireLicenseOptions::SUPPRESS_STARTUP_DIALOG_IF_ALREADY_SHOWN.bits(),
2
);
assert_eq!(AcquireLicenseOptions::SHOW_EXIT_BUTTON.bits(), 4);
}
#[test]
fn suppressing_and_exiting_are_independent() {
let both = AcquireLicenseOptions::SUPPRESS_STARTUP_DIALOG
| AcquireLicenseOptions::SHOW_EXIT_BUTTON;
assert_eq!(both.bits(), 5);
assert!(both.contains(AcquireLicenseOptions::SUPPRESS_STARTUP_DIALOG));
}
}