bfree 0.1.19

bfree - memory stats for humans
Documentation
use bfree::core::memory_stats::MemoryStats;
use bfree::render::Renderer;
use bfree::render::views::CompactView;

#[test]
fn compact_render_renders_expected_layout_and_percentages() {
    let gib = 1024_u64.pow(3);
    let stats = MemoryStats::new(
        10 * gib,
        6 * gib,
        2 * gib,
        1 * gib,
        512 * 1024 * 1024,
        2 * gib,
        gib,
    );

    let rendered = CompactView.render(&stats);
    assert_eq!(rendered, "mem    40%  4GiB / 10GiB\nswap   50%  1GiB / 2GiB");
}

#[test]
fn compact_render_handles_small_and_zero_values() {
    let stats = MemoryStats::new(999, 0, 0, 0, 0, 0, 0);

    let rendered = CompactView.render(&stats);
    assert_eq!(rendered, "mem   100%  999B / 999B\nswap    0%  0B   / 0B");
}

#[test]
fn compact_render_formats_kibibyte_boundary_as_k() {
    let stats = MemoryStats::new(1024, 0, 0, 0, 0, 0, 0);

    let rendered = CompactView.render(&stats);
    assert!(rendered.starts_with("mem   100%  1KiB / 1KiB"));
}