office2pdf 0.5.0

Convert DOCX, XLSX, and PPTX files to PDF using pure Rust
Documentation
use super::*;

#[test]
fn test_parse_sqref_single_range() {
    let ranges = parse_sqref("A1:C3");
    assert_eq!(ranges.len(), 1);
    assert_eq!(ranges[0].start_col, 1);
    assert_eq!(ranges[0].start_row, 1);
    assert_eq!(ranges[0].end_col, 3);
    assert_eq!(ranges[0].end_row, 3);
}

#[test]
fn test_parse_sqref_single_cell() {
    let ranges = parse_sqref("B5");
    assert_eq!(ranges.len(), 1);
    assert_eq!(ranges[0].start_col, 2);
    assert_eq!(ranges[0].start_row, 5);
    assert_eq!(ranges[0].end_col, 2);
    assert_eq!(ranges[0].end_row, 5);
}

#[test]
fn test_parse_sqref_multiple_ranges() {
    let ranges = parse_sqref("A1:B2 D4:E5");
    assert_eq!(ranges.len(), 2);
}

#[test]
fn test_interpolate_color_extremes() {
    let white = Color::new(255, 255, 255);
    let red = Color::new(255, 0, 0);

    let at_min = interpolate_color(white, red, 0.0);
    assert_eq!(at_min, white);

    let at_max = interpolate_color(white, red, 1.0);
    assert_eq!(at_max, red);
}

#[test]
fn test_interpolate_color_midpoint() {
    let white = Color::new(255, 255, 255);
    let red = Color::new(255, 0, 0);

    let mid = interpolate_color(white, red, 0.5);
    assert_eq!(mid.r, 255);
    assert_eq!(mid.g, 128);
    assert_eq!(mid.b, 128);
}