boolean tests
This commit is contained in:
		
							parent
							
								
									8d74cd6f3f
								
							
						
					
					
						commit
						77846511b2
					
				@ -11,7 +11,7 @@ impl Serializable for bool {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug)]
 | 
			
		||||
#[derive(Debug, PartialEq)]
 | 
			
		||||
pub enum BooleanParseError {
 | 
			
		||||
    OutOfBounds(u8),
 | 
			
		||||
    Eof,
 | 
			
		||||
@ -63,3 +63,34 @@ impl Atomic for bool {
 | 
			
		||||
impl ConstSizeAtomic for bool {
 | 
			
		||||
    const SIZE: usize = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[cfg(test)]
 | 
			
		||||
mod tests {
 | 
			
		||||
    use super::*;
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn can_parse_false() {
 | 
			
		||||
        assert_eq!(bool::parse_slice(&[0]).unwrap(), false)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn can_parse_true() {
 | 
			
		||||
        assert_eq!(bool::parse_slice(&[1]).unwrap(), true)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn cannot_parse_out_of_bound_value() {
 | 
			
		||||
        assert_eq!(bool::parse_slice(&[2]).unwrap_err(), BooleanParseError::OutOfBounds(2));
 | 
			
		||||
        assert_eq!(bool::parse_slice(&[2, 0]).unwrap_err(), BooleanParseError::OutOfBounds(2));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn cannot_parse_empty_slice() {
 | 
			
		||||
        assert_eq!(bool::parse_slice(&[]).unwrap_err(), BooleanParseError::Eof);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn cannot_parse_extra_tail() {
 | 
			
		||||
        assert_eq!(bool::parse_slice(&[0, 10, 20, 30]).unwrap_err(), BooleanParseError::ExtraData(3));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -61,7 +61,7 @@ mod tests {
 | 
			
		||||
    use crate::std::*;
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn test_plain() -> Result<(), PlainParseError> {
 | 
			
		||||
    fn can_parse_plain_slice() -> Result<(), PlainParseError> {
 | 
			
		||||
        let plain = Plain::parse_slice(b"slice")?;
 | 
			
		||||
        assert_eq!(plain.bytes().as_slice(), b"slice");
 | 
			
		||||
        Ok(())
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user