enumoid 0.4.0

Enum Indexed Containers
Documentation
use crate::test::types::Three;
use enumoid::EnumSet;

#[test]
fn test_flags() {
  let mut flags = EnumSet::<Three>::new();
  assert_eq!(flags.any(), false);
  assert_eq!(flags.count(), 0);
  assert_eq!(flags.contains(Three::B), false);
  flags.set(Three::B, true);
  assert_eq!(flags.any(), true);
  assert_eq!(flags.count(), 1);
  assert_eq!(flags.contains(Three::B), true);
  let collected: Vec<_> = flags.iter().collect();
  assert_eq!(
    collected,
    vec![(Three::A, false), (Three::B, true), (Three::C, false)]
  );
}