Files
pixstrip/pixstrip-core/tests/watermark_tests.rs

112 lines
2.7 KiB
Rust

use pixstrip_core::operations::watermark::calculate_position;
use pixstrip_core::operations::WatermarkPosition;
use pixstrip_core::types::Dimensions;
#[test]
fn position_top_left() {
let (x, y) = calculate_position(
WatermarkPosition::TopLeft,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 10);
assert_eq!(y, 10);
}
#[test]
fn position_center() {
let (x, y) = calculate_position(
WatermarkPosition::Center,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 860); // (1920 - 200) / 2
assert_eq!(y, 515); // (1080 - 50) / 2
}
#[test]
fn position_bottom_right() {
let (x, y) = calculate_position(
WatermarkPosition::BottomRight,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 1710); // 1920 - 200 - 10
assert_eq!(y, 1020); // 1080 - 50 - 10
}
#[test]
fn position_top_center() {
let (x, y) = calculate_position(
WatermarkPosition::TopCenter,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 860); // (1920 - 200) / 2
assert_eq!(y, 10);
}
#[test]
fn position_bottom_center() {
let (x, y) = calculate_position(
WatermarkPosition::BottomCenter,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 860);
assert_eq!(y, 1020);
}
#[test]
fn position_middle_left() {
let (x, y) = calculate_position(
WatermarkPosition::MiddleLeft,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 10);
assert_eq!(y, 515);
}
#[test]
fn position_middle_right() {
let (x, y) = calculate_position(
WatermarkPosition::MiddleRight,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 1710);
assert_eq!(y, 515);
}
#[test]
fn position_top_right() {
let (x, y) = calculate_position(
WatermarkPosition::TopRight,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 1710);
assert_eq!(y, 10);
}
#[test]
fn position_bottom_left() {
let (x, y) = calculate_position(
WatermarkPosition::BottomLeft,
Dimensions { width: 1920, height: 1080 },
Dimensions { width: 200, height: 50 },
10,
);
assert_eq!(x, 10);
assert_eq!(y, 1020);
}