tii 0.0.6

A Low-Latency Web Server.
Documentation
use tii::QValue;

#[test]
pub fn test() {
  for i in 0..=2000 {
    let qv = QValue::from_clamped(i);
    if i <= 1000 {
      assert_eq!(qv.as_u16(), i);
    }

    let str = qv.as_str();
    let display = qv.to_string();
    assert_eq!(str, display.as_str());
    let qv2 = QValue::parse(str).unwrap();
    assert_eq!(qv, qv2);
    let j = qv.as_str();
    match j.len() {
      3 => {
        assert_eq!(qv, QValue::parse(j.to_string() + "0").unwrap());
        assert_eq!(qv, QValue::parse(j.to_string() + "00").unwrap());
      }
      4 => {
        assert_eq!(qv, QValue::parse(j.to_string() + "0").unwrap());
      }
      5 => {}
      _ => panic!("{}", j),
    }
  }
}

#[test]
pub fn test_edge() {
  assert_eq!(1000, QValue::parse("1").unwrap().as_u16());
  assert_eq!(1000, QValue::parse("1.0").unwrap().as_u16());
  assert_eq!(1000, QValue::parse("1.00").unwrap().as_u16());
  assert_eq!(1000, QValue::parse("1.000").unwrap().as_u16());
  assert_eq!(0, QValue::parse("0").unwrap().as_u16());
  assert!(QValue::parse("2").is_none());
  assert!(QValue::parse("2.0").is_none());
  assert!(QValue::parse("1.001").is_none());
  assert!(QValue::parse("1.").is_none());
  assert!(QValue::parse("1.X").is_none());
  assert!(QValue::parse("0.X").is_none());
  assert!(QValue::parse("0.0X").is_none());
  assert!(QValue::parse("0.01X").is_none());
  assert!(QValue::parse("1.0X").is_none());
  assert!(QValue::parse("1X0").is_none());
  assert!(QValue::parse("1.0000").is_none());
}