extern crate pdf_canvas;
use pdf_canvas::{BuiltinFont, FontSource};
fn is_close(a: f32, b: f32) -> bool {
let comparision = (a - b).abs() / (a.abs() + b.abs());
println!("Checking if {} and {} is close: {}", a, b, comparision);
comparision < 1e-7
}
#[test]
fn metrics_for_long_string() {
let font = BuiltinFont::Times_Roman;
let size = 12.0;
let some_text = "This is a test. ";
let some_len = font.get_width(size, some_text);
let n = 500;
assert_eq!(66.336, some_len);
let mut long_text = String::new();
for _ in 0..n {
long_text = long_text + some_text;
}
assert!(is_close(
n as f32 * some_len,
font.get_width(size, &long_text)
));
}