numf/tests/format.rs

50 lines
2.2 KiB
Rust

use numf::format::*;
#[test]
fn format() {
let options = FormatOptions::default();
assert_eq!(Format::Dec.format(1337, &options), "1337");
assert_eq!(Format::Dec.format(u128::MAX, &options), format!("{}", u128::MAX));
assert_eq!(Format::Hex.format(0x1337, &options), "1337");
assert_eq!(Format::Hex.format(u128::MAX, &options), format!("{:X}", u128::MAX));
assert_eq!(Format::Bin.format(0b1010001001010010010100111, &options), "1010001001010010010100111");
assert_eq!(Format::Bin.format(u128::MAX, &options), format!("{:b}", u128::MAX));
assert_eq!(Format::Octal.format(0o13377331, &options), "13377331");
assert_eq!(Format::Octal.format(u128::MAX, &options), format!("{:o}", u128::MAX));
assert_eq!(Format::Base32.format(0x41414242, &options), "IFAUEQQ=");
assert_eq!(Format::Base32.format(0x4141414141414141, &options), "IFAUCQKBIFAUC===");
assert_eq!(Format::Base64.format(0x41414242, &options), "QUFCQg==");
assert_eq!(Format::Base64.format(0x4141414141414141, &options), "QUFBQUFBQUE=");
}
#[test]
fn format_padding() {
let mut options = FormatOptions::default();
options.set_padding(true);
assert_eq!(Format::Dec.format(1337, &options), "1337");
assert_eq!(Format::Dec.format(u128::MAX, &options), format!("{}", u128::MAX));
assert_eq!(Format::Hex.format(0xFFF, &options), "0FFF");
assert_eq!(Format::Hex.format(0xFFFF, &options), "FFFF");
assert_eq!(Format::Hex.format(u128::MAX, &options), format!("{:X}", u128::MAX));
assert_eq!(Format::Bin.format(0b11110000_00001111, &options), "1111000000001111");
assert_eq!(Format::Bin.format(0b110000_00001111, &options), "0011000000001111");
assert_eq!(Format::Bin.format(u128::MAX, &options), format!("{:b}", u128::MAX));
assert_eq!(Format::Octal.format(0o13377331, &options), "13377331");
assert_eq!(Format::Octal.format(u128::MAX, &options), format!("{:o}", u128::MAX));
assert_eq!(Format::Base32.format(0x41414242, &options), "IFAUEQQ=");
assert_eq!(Format::Base32.format(0x4141414141414141, &options), "IFAUCQKBIFAUC===");
assert_eq!(Format::Base64.format(0x41414242, &options), "QUFCQg==");
assert_eq!(Format::Base64.format(0x4141414141414141, &options), "QUFBQUFBQUE=");
}