feat: add ci
This commit is contained in:
parent
54686fc93d
commit
42632f81e4
5 changed files with 38 additions and 6 deletions
|
@ -4,8 +4,6 @@ This crate aims to make working with binary/bit flags easier. It also provides a
|
|||
*/
|
||||
|
||||
pub use binf_macros::*;
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
|
||||
/// A trait for types that can be used as bit flags.
|
||||
pub trait BitFlag {
|
||||
|
|
71
src/tests.rs
71
src/tests.rs
|
@ -1,71 +0,0 @@
|
|||
use crate::*;
|
||||
|
||||
#[bitflag]
|
||||
pub struct Test {
|
||||
a: bool,
|
||||
b: bool,
|
||||
c: bool,
|
||||
d: bool,
|
||||
e: bool,
|
||||
f: bool,
|
||||
g: bool,
|
||||
h: bool,
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn macro_test() {
|
||||
let mut test = Test::new(0b10101010);
|
||||
assert_eq!(test.a(), false);
|
||||
assert_eq!(test.b(), true);
|
||||
assert_eq!(test.c(), false);
|
||||
assert_eq!(test.d(), true);
|
||||
assert_eq!(test.e(), false);
|
||||
assert_eq!(test.f(), true);
|
||||
assert_eq!(test.g(), false);
|
||||
assert_eq!(test.h(), true);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn macro_test_set() {
|
||||
let mut test = Test::new(0b10101010);
|
||||
test.set_a(true);
|
||||
test.set_b(false);
|
||||
test.set_c(true);
|
||||
test.set_d(false);
|
||||
test.set_e(true);
|
||||
test.set_f(false);
|
||||
test.set_g(true);
|
||||
test.set_h(false);
|
||||
assert_eq!(test.value(), 0b01010101);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn macro_test_iter() {
|
||||
let test = Test::new(0b10101010);
|
||||
let flags = test.flags();
|
||||
let mut iter = flags.iter();
|
||||
assert_eq!(iter.next(), Some(false).as_ref());
|
||||
assert_eq!(iter.next(), Some(true).as_ref());
|
||||
assert_eq!(iter.next(), Some(false).as_ref());
|
||||
assert_eq!(iter.next(), Some(true).as_ref());
|
||||
assert_eq!(iter.next(), Some(false).as_ref());
|
||||
assert_eq!(iter.next(), Some(true).as_ref());
|
||||
assert_eq!(iter.next(), Some(false).as_ref());
|
||||
assert_eq!(iter.next(), Some(true).as_ref());
|
||||
assert_eq!(iter.next(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn u64_test() {
|
||||
let mut flags = 0b10101010u64;
|
||||
assert_eq!(flags.get_flag(0), false);
|
||||
assert_eq!(flags.get_flag(1), true);
|
||||
assert_eq!(flags.get_flag(2), false);
|
||||
assert_eq!(flags.get_flag(3), true);
|
||||
assert_eq!(flags.get_flag(4), false);
|
||||
assert_eq!(flags.get_flag(5), true);
|
||||
assert_eq!(flags.get_flag(6), false);
|
||||
assert_eq!(flags.get_flag(7), true);
|
||||
flags.set_flag(0, true);
|
||||
assert_eq!(flags, 0b10101011);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue