parallel-disk-usage 0.21.1

Highly parallelized, blazing fast directory tree analyzer
Documentation
#![cfg(feature = "cli")]

use parallel_disk_usage::args::fraction::{ConversionError::*, Fraction, FromStrError::*};
use pretty_assertions::assert_eq;

#[test]
#[allow(clippy::float_cmp)]
fn typical() {
    let actual: f32 = "0.5".parse::<Fraction>().expect("create ratio").into();
    assert_eq!(actual, 0.5);
}

#[test]
#[allow(clippy::float_cmp)]
fn equal_to_zero() {
    let actual: f32 = "0".parse::<Fraction>().expect("create ratio").into();
    assert_eq!(actual, 0.0);
}

#[test]
fn less_than_zero() {
    let actual_error = "-0.1".parse::<Fraction>().expect_err("cause bound error");
    let actual_message = actual_error.to_string();
    let expected_error = Conversion(LowerBound);
    let expected_message = "less than 0".to_string();
    assert_eq!(
        (actual_error, actual_message),
        (expected_error, expected_message),
    );
}

#[test]
#[allow(clippy::float_cmp)]
fn less_than_one() {
    let actual: f32 = "0.99999".parse::<Fraction>().expect("create ratio").into();
    assert_eq!(actual, 0.99999);
}

#[test]
fn equal_to_one() {
    let actual_error = "1".parse::<Fraction>().expect_err("cause bound error");
    let actual_message = actual_error.to_string();
    let expected_error = Conversion(UpperBound);
    let expected_message = "greater than or equal to 1".to_string();
    assert_eq!(
        (actual_error, actual_message),
        (expected_error, expected_message),
    );
}

#[test]
fn invalid_float_literal() {
    let actual = "a"
        .parse::<Fraction>()
        .expect_err("cause syntax error")
        .to_string();
    let expected = "invalid float literal";
    assert_eq!(actual, expected);
}