use tskit::{NodeFlags, RawFlags, SimplificationOptions};
fn clip_invalid_flags() {
let f: RawFlags = 1000000;
let simplification_flags = SimplificationOptions::from(f);
assert_ne!(f, simplification_flags.bits());
assert!(simplification_flags.is_valid());
let simplification_flags = unsafe { SimplificationOptions::from_bits_unchecked(f) };
assert!(!simplification_flags.is_valid());
}
fn example_node_flags() {
let f: RawFlags = 1000000;
let mut node_flags = NodeFlags::from(f);
assert_eq!(node_flags.bits(), f);
assert!(node_flags.is_valid());
assert!(!node_flags.contains(NodeFlags::IS_SAMPLE));
node_flags.toggle(NodeFlags::IS_SAMPLE);
assert!(node_flags.is_valid());
assert_ne!(node_flags.bits(), f);
node_flags.remove(NodeFlags::IS_SAMPLE);
assert!(node_flags.is_valid());
assert_eq!(node_flags.bits(), f);
}
#[test]
fn test_clip_invalid_flags() {
clip_invalid_flags();
}
#[test]
fn test_example_node_flags() {
example_node_flags();
}