#[cfg(test)] use kaolinite::{document::*, event::*, utils::*}; #[test] fn double_counting() { // Test data let test1_map = vec![]; let test2_map = vec![(1, 1), (5, 4)]; let test3_map = vec![(1, 1), (3, 2), (6, 4), (8, 5)]; // Output let results = vec![ dbl_count(&test1_map, true, 0), dbl_count(&test1_map, false, 3), dbl_count(&test2_map, true, 3), dbl_count(&test2_map, false, 6), dbl_count(&test3_map, true, 6), dbl_count(&test3_map, false, 6), ]; // Verification assert_eq!(results, vec![0, 0, 1, 2, 2, 4]); } #[test] fn line_trimming() { // Test data let test1 = "".to_string(); let test2 = "hello world".to_string(); let test3 = "hello wor蔼t教案ld".to_string(); let test4 = "蔼教案蔼教案教蔼".to_string(); // Output let results = vec![ trim(&test1, 0, 0), trim(&test1, 128, 128), trim(&test2, 6, 5), trim(&test2, 6, 7), trim(&test3, 0, 13), trim(&test3, 13, 4), trim(&test4, 1, 2), trim(&test4, 1, 4), ]; // Verification assert_eq!(results, vec![ "".to_string(), "".to_string(), "world".to_string(), "world".to_string(), "hello wor蔼t ".to_string(), " 案l".to_string(), " ".to_string(), " 教 ".to_string(), ]); } #[test] fn hashmap_utilities() { // Test data let mut test1 = sugars::hmap!{ 0 => vec![(3, 3)], 1 => vec![(1, 1), (3, 2)], }; let test1_1 = sugars::hmap!{ 0 => vec![(3, 3), (6, 5)], 1 => vec![(1, 1), (3, 2)], }; let test1_2 = sugars::hmap!{ 0 => vec![(3, 3), (6, 5)], 1 => vec![(1, 1), (3, 2)], 2 => vec![(7, 7)], }; // Output & Verification hm_add(&mut test1, 0, (6, 5)); assert_eq!(test1, test1_1); hm_add(&mut test1, 2, (7, 7)); assert_eq!(test1, test1_2); } #[test] fn filetype_detection() { // Test data let test1 = "rs"; let test2 = "txt"; let test3 = "jsb"; let test4 = "frag"; // Output let results = vec![ filetype(test1).unwrap_or("Unknown".to_string()), filetype(test2).unwrap_or("Unknown".to_string()), filetype(test3).unwrap_or("Unknown".to_string()), filetype(test4).unwrap_or("Unknown".to_string()), ]; // Verification assert_eq!( results, vec![ "Rust".to_string(), "Plain Text".to_string(), "Unknown".to_string(), "GLSL".to_string(), ] ); } #[test] fn errors() { // Test data let test1 = Error::OutOfRange; // Output let result = format!("{:?}", test1); // Verification assert_eq!(result, "OutOfRange".to_string()); } #[test] fn document_positioning() { // Test data let doc = Document::open((10, 10), "../demos/2.txt"); // Output // Verification } /* Template: #[test] fn name() { // Test data // Output // Verification } */