#[cfg(test)] mod tests { use std::thread::sleep; use std::time::Duration; use image::io::Reader as ImageReader; use log::LevelFilter; use crate::pokemmo::const_value::pokemmo_const_value::{BUTTON_HL_1, BUTTON_HL_2, BUTTON_HL_3, BUTTON_HL_4, GROUP_5_1, GROUP_5_2, GROUP_5_3, GROUP_5_4, GROUP_5_5, LAST_TEXT_AREA, LOGO, MAP_CITY, SHORTCUT_KEY_1, SHORTCUT_KEY_5, SINGLE_BATTLE, TEMP_BATTLE_TEXT_AREA, TEXT_AREA}; use crate::pokemmo::pokemmo::pokemmo::{check_screen_active, get_choose_btn, get_last_string, read_area, read_group_5, single_meet_shiny}; use crate::screen::screen::screen::{print_image, screen_shot}; #[test] fn try_meet_shiny(){ simple_logging::log_to_file("./test/log/meet_shiny.log",LevelFilter::Info).expect("set log failed"); let key_words = vec![ "闪".to_string(), "光".to_string(), ]; single_meet_shiny(&key_words); } #[test] fn print_shortcut() { let text = screen_shot(Some(TEMP_BATTLE_TEXT_AREA)); print_image(text, "temp_battle_text".to_string()); } #[test] fn print_group_5() { let group_5_1 = screen_shot(Some(GROUP_5_1)); print_image(group_5_1, "group_5_1".to_string()); let group_5_2 = screen_shot(Some(GROUP_5_2)); print_image(group_5_2, "group_5_2".to_string()); let group_5_3 = screen_shot(Some(GROUP_5_3)); print_image(group_5_3, "group_5_3".to_string()); let group_5_4 = screen_shot(Some(GROUP_5_4)); print_image(group_5_4, "group_5_4".to_string()); let group_5_5 = screen_shot(Some(GROUP_5_5)); print_image(group_5_5, "group_5_5".to_string()); } #[test] fn print_button() { let btn_hl_1 = screen_shot(Some(BUTTON_HL_1)); print_image(btn_hl_1, "btn_hl_1".to_string()); let btn_hl_2 = screen_shot(Some(BUTTON_HL_2)); print_image(btn_hl_2, "btn_hl_2".to_string()); let btn_hl_3 = screen_shot(Some(BUTTON_HL_3)); print_image(btn_hl_3, "btn_hl_3".to_string()); let btn_hl_4 = screen_shot(Some(BUTTON_HL_4)); print_image(btn_hl_4, "btn_hl_4".to_string()); } #[test] fn find_text() { let text = read_area(TEMP_BATTLE_TEXT_AREA); println!("text in image: {}",text); } #[test] fn get_active_btn() { let index_op = get_choose_btn(); if index_op.is_some(){ println!("激活索引:{}",index_op.unwrap()); }else { println!("无激活索引"); } } #[test] fn compare_logo() { let active_logo = ImageReader::open("./resources/pokemmo/image/logo_active.png").expect("read active logo image failed").decode().expect("decode image failed"); let active_logo_data = active_logo.as_bytes().to_vec(); let na_logo = ImageReader::open("./resources/pokemmo/image/logo_unactive.png").expect("read active logo image failed").decode().expect("decode image failed"); let na_logo_data = na_logo.as_bytes().to_vec(); let size = active_logo_data.len(); let mut dis = 0_isize; for i in 0 .. size{ dis += na_logo_data[i.clone()].clone() as isize - active_logo_data[i.clone()].clone() as isize; } println!("dis = {}",dis); } }