use super::BitSource;
#[test]
fn test_source() {
let bytes: Vec<u8> = vec![1, 2, 3, 4, 5];
let mut source = BitSource::new(bytes);
assert_eq!(40, source.available());
assert_eq!(0, source.readBits(1).unwrap());
assert_eq!(39, source.available());
assert_eq!(0, source.readBits(6).unwrap());
assert_eq!(33, source.available());
assert_eq!(1, source.readBits(1).unwrap());
assert_eq!(32, source.available());
assert_eq!(2, source.readBits(8).unwrap());
assert_eq!(24, source.available());
assert_eq!(12, source.readBits(10).unwrap());
assert_eq!(14, source.available());
assert_eq!(16, source.readBits(8).unwrap());
assert_eq!(6, source.available());
assert_eq!(5, source.readBits(6).unwrap());
assert_eq!(0, source.available());
}