use ppbert::parsers::*;
use ppbert::bertterm::BertTerm;
use ppbert::error::Result;
fn p(bytes: &[u8]) -> Result<Vec<BertTerm>> {
let mut parser = Bert2Parser::new();
parser.set_input(bytes.to_vec());
let mut terms = Vec::new();
while let Some(res) = parser.next() {
terms.push(res?);
}
return Ok(terms);
}
#[test]
fn zero_terms() {
assert!(p(&[]).is_ok());
}
#[test]
fn one_term() {
assert!(p(&[0, 131, 97, 0]).is_ok());
assert!(p(&[0, 130, 97, 0]).is_err());
}
#[test]
fn two_terms() {
assert!(p(&[0, 131, 97, 0,
1, 131, 97, 0]).is_ok());
assert!(p(&[0, 130, 97, 0,
1, 131, 97, 0]).is_err());
assert!(p(&[0, 131, 97, 0,
1, 130, 97, 0]).is_err());
assert!(p(&[0, 130, 97, 0,
1, 130, 97, 0]).is_err());
}