Skip to content

Commit 34b6d27

Browse files
author
Brandon Shippy
committed
Add unsigned enum test
1 parent 8f9227a commit 34b6d27

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

  • rust/crates/sift_cli/src/cmd/import/hdf5

rust/crates/sift_cli/src/cmd/import/hdf5/tests.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,37 @@ fn enum_types_for_extracts_members() {
304304
assert_eq!(mapped[1].key, 1);
305305
}
306306

307+
#[test]
308+
fn enum_types_for_unsigned_enum() {
309+
let ty = TypeDescriptor::Enum(EnumType {
310+
size: IntSize::U4,
311+
signed: false,
312+
members: vec![
313+
EnumMember {
314+
name: "IDLE".into(),
315+
value: 0,
316+
},
317+
EnumMember {
318+
name: "RUNNING".into(),
319+
value: 1,
320+
},
321+
EnumMember {
322+
name: "ERROR".into(),
323+
value: 99,
324+
},
325+
],
326+
});
327+
let mapped = enum_types_for(&ty).unwrap();
328+
assert_eq!(mapped.len(), 3);
329+
assert!(!mapped[0].is_signed);
330+
assert!(!mapped[1].is_signed);
331+
assert!(!mapped[2].is_signed);
332+
assert_eq!(mapped[0].name, "IDLE");
333+
assert_eq!(mapped[0].key, 0);
334+
assert_eq!(mapped[2].name, "ERROR");
335+
assert_eq!(mapped[2].key, 99);
336+
}
337+
307338
#[test]
308339
fn enum_types_for_returns_empty_for_non_enum() {
309340
assert!(enum_types_for(&TypeDescriptor::Boolean).unwrap().is_empty());

0 commit comments

Comments
 (0)