use enumset::EnumSetType;
#[derive(EnumSetType, Debug)]
#[enumset(repr = "u16", serialize_repr = "u16")]
pub enum EventFeatures {
Reserved = 3, EndOfFile = 4, FileMimeType = 5, FileContent = 6, Tags = 7, Runnable = 8, Timestamp = 9, RoutingCode = 10, TestId = 11, }
#[cfg(test)]
mod test {
use super::EventFeatures;
use enumset::{enum_set, EnumSet};
#[test]
fn bit_representation() {
assert_eq!(enum_set! {EventFeatures::Reserved}.as_repr(), 0x0008);
assert_eq!(enum_set! {EventFeatures::EndOfFile}.as_repr(), 0x0010);
assert_eq!(enum_set! {EventFeatures::FileMimeType}.as_repr(), 0x0020);
assert_eq!(enum_set! {EventFeatures::FileContent}.as_repr(), 0x0040);
assert_eq!(enum_set! {EventFeatures::Tags}.as_repr(), 0x0080);
assert_eq!(enum_set! {EventFeatures::Runnable}.as_repr(), 0x0100);
assert_eq!(enum_set! {EventFeatures::Timestamp}.as_repr(), 0x0200);
assert_eq!(enum_set! {EventFeatures::RoutingCode}.as_repr(), 0x0400);
assert_eq!(enum_set! {EventFeatures::TestId}.as_repr(), 0x0800);
assert_eq!(
EnumSet::<EventFeatures>::from_repr(0x0800),
enum_set! {EventFeatures::TestId}
);
}
}