mod common;
use std::path::PathBuf;
use common::{testenv, TestEnv, EXAMPLE_SUN, EXAMPLE_TIME};
use predicates::prelude::*;
use rstest::rstest;
const EXAMPLE_TIME_INFO: &str = r#"
Size: 88723B
Resolution: 512x512px
Schedule type: time
Number of images: 2
Number of frames: 2
Schedule:
Frame Image Time
1 1 00:00:00
2 0 12:00:00
Appearance:
Light: 0
Dark: 1
"#;
const EXAMPLE_SUN_INFO: &str = r#"
Size: 91566B
Resolution: 512x512px
Schedule type: solar
Number of images: 2
Number of frames: 2
Schedule:
Frame Image Azimuth Altitude
1 0 169.0 31.0
2 1 346.0 -45.0
Appearance:
Light: 0
Dark: 1
"#;
#[rstest]
#[case(EXAMPLE_TIME.to_path_buf(), EXAMPLE_TIME_INFO)]
#[case(EXAMPLE_SUN.to_path_buf(), EXAMPLE_SUN_INFO)]
fn test_info(testenv: TestEnv, #[case] wall_path: PathBuf, #[case] expected_output: &str) {
testenv
.run(&["info", wall_path.to_str().unwrap()])
.success()
.stdout(predicate::str::ends_with(expected_output));
}