diff --git a/src/duration_to_string/tests.rs b/src/duration_to_string/tests.rs index d075b22..3a09dae 100644 --- a/src/duration_to_string/tests.rs +++ b/src/duration_to_string/tests.rs @@ -1,38 +1,113 @@ -use std::time::Duration; -use crate::duration_to_string::duration_to_string::duration_to_string; - #[cfg(test)] mod test { use super::*; + use crate::duration_to_string::duration_to_string::duration_to_string; use crate::duration_to_string::duration_to_string::*; + use std::time::Duration; #[test] fn multi_duration_to_string() { let params: Vec<(&str, Duration, Option)> = vec![ ("1 second", Duration::from_secs(1), Some(false)), ("4 seconds", Duration::from_secs(4), Some(false)), - ("1 minute", Duration::from_secs(SECONDS_IN_MINUTE as u64), Some(false)), - ("4 minutes", Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64), Some(false)), - ("1 hour", Duration::from_secs(SECONDS_IN_HOUR as u64), Some(false)), - ("4 hours", Duration::from_secs((SECONDS_IN_HOUR * 4) as u64), Some(false)), - ("4 hours 5 minutes", Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64), Some(false)), - ("1 day", Duration::from_secs(SECONDS_IN_DAY as u64), Some(false)), - ("0 days 0 hours 0 minutes 1 second", Duration::from_secs(1), Some(true)), - ("0 days 0 hours 0 minutes 4 seconds", Duration::from_secs(4), Some(true)), - ("0 days 0 hours 1 minute 0 seconds", Duration::from_secs(SECONDS_IN_MINUTE as u64), Some(true)), - ("0 days 0 hours 4 minutes 0 seconds", Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64), Some(true)), - ("0 days 1 hour 0 minutes 0 seconds", Duration::from_secs(SECONDS_IN_HOUR as u64), Some(true)), - ("0 days 4 hours 0 minutes 0 seconds", Duration::from_secs((SECONDS_IN_HOUR * 4) as u64), Some(true)), - ("0 days 4 hours 5 minutes 0 seconds", Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64), Some(true)), - ("1 day 0 hours 0 minutes 0 seconds", Duration::from_secs(SECONDS_IN_DAY as u64), Some(true)), - ("1 day 0 hours 0 minutes 1 second", Duration::from_secs((SECONDS_IN_DAY + 1) as u64), Some(true)), + ( + "1 minute", + Duration::from_secs(SECONDS_IN_MINUTE as u64), + Some(false), + ), + ( + "4 minutes", + Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64), + Some(false), + ), + ( + "1 hour", + Duration::from_secs(SECONDS_IN_HOUR as u64), + Some(false), + ), + ( + "4 hours", + Duration::from_secs((SECONDS_IN_HOUR * 4) as u64), + Some(false), + ), + ( + "4 hours 5 minutes", + Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64), + Some(false), + ), + ( + "1 day", + Duration::from_secs(SECONDS_IN_DAY as u64), + Some(false), + ), + ( + "0 days 0 hours 0 minutes 1 second", + Duration::from_secs(1), + Some(true), + ), + ( + "0 days 0 hours 0 minutes 4 seconds", + Duration::from_secs(4), + Some(true), + ), + ( + "0 days 0 hours 1 minute 0 seconds", + Duration::from_secs(SECONDS_IN_MINUTE as u64), + Some(true), + ), + ( + "0 days 0 hours 4 minutes 0 seconds", + Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64), + Some(true), + ), + ( + "0 days 1 hour 0 minutes 0 seconds", + Duration::from_secs(SECONDS_IN_HOUR as u64), + Some(true), + ), + ( + "0 days 4 hours 0 minutes 0 seconds", + Duration::from_secs((SECONDS_IN_HOUR * 4) as u64), + Some(true), + ), + ( + "0 days 4 hours 5 minutes 0 seconds", + Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64), + Some(true), + ), + ( + "1 day 0 hours 0 minutes 0 seconds", + Duration::from_secs(SECONDS_IN_DAY as u64), + Some(true), + ), + ( + "1 day 0 hours 0 minutes 1 second", + Duration::from_secs((SECONDS_IN_DAY + 1) as u64), + Some(true), + ), ("1 second", Duration::from_secs(1), None), ("4 seconds", Duration::from_secs(4), None), - ("1 minute", Duration::from_secs(SECONDS_IN_MINUTE as u64), None), - ("4 minutes", Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64), None), + ( + "1 minute", + Duration::from_secs(SECONDS_IN_MINUTE as u64), + None, + ), + ( + "4 minutes", + Duration::from_secs((SECONDS_IN_MINUTE * 4) as u64), + None, + ), ("1 hour", Duration::from_secs(SECONDS_IN_HOUR as u64), None), - ("4 hours", Duration::from_secs((SECONDS_IN_HOUR * 4) as u64), None), - ("4 hours 5 minutes", Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64), None), + ( + "4 hours", + Duration::from_secs((SECONDS_IN_HOUR * 4) as u64), + None, + ), + ( + "4 hours 5 minutes", + Duration::from_secs((SECONDS_IN_HOUR * 4 + SECONDS_IN_MINUTE * 5) as u64), + None, + ), ("1 day", Duration::from_secs(SECONDS_IN_DAY as u64), None), ]; diff --git a/src/lib.rs b/src/lib.rs index b955d31..b67aab2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,4 @@ -pub mod number_system_conversion; -pub mod test_compression; pub mod data_to_text; pub mod duration_to_string; +pub mod number_system_conversion; +pub mod test_compression; diff --git a/src/number_system_conversion.rs b/src/number_system_conversion.rs index 1c92559..08a7c2f 100644 --- a/src/number_system_conversion.rs +++ b/src/number_system_conversion.rs @@ -1,5 +1,4 @@ pub struct NumberSystemConversion {} - impl NumberSystemConversion { /// byte_to_bool /// @@ -94,7 +93,6 @@ impl NumberSystemConversion { (high as u16) << 8 | low as u16 } - /// clear_high_bits /// /// Clear the 8 MSB of the value @@ -102,7 +100,7 @@ impl NumberSystemConversion { /// ex: 0xffff -> 0x00ff /// 0xabcd -> 0x00cd pub fn clear_high_bits(to_clear: u16) -> u16 { - to_clear & 0x00ff + to_clear & 0x00ff } /// clear_low_bits diff --git a/src/test_compression.rs b/src/test_compression.rs index fc64828..99606a4 100644 --- a/src/test_compression.rs +++ b/src/test_compression.rs @@ -100,10 +100,13 @@ impl TestCompression { } pub fn decompress_file_to_array(to_decompress: &Path) -> Vec { + // println!("DECOMPRESS_FILE_TO_ARRAY--> {:?}", to_decompress); let file = File::open(to_decompress).expect("Failed to open file"); let mut decoder = DeflateDecoder::new(file); let mut output = Vec::new(); - decoder.read_to_end(&mut output).expect("Failed to decompress"); + decoder + .read_to_end(&mut output) + .expect("Failed to decompress"); output } } diff --git a/tests/mod.rs b/tests/mod.rs new file mode 100644 index 0000000..860c803 --- /dev/null +++ b/tests/mod.rs @@ -0,0 +1 @@ +mod poc; diff --git a/tests/data_to_text.rs b/tests/poc/data_to_text.rs similarity index 66% rename from tests/data_to_text.rs rename to tests/poc/data_to_text.rs index f126fa9..cdc7e2e 100644 --- a/tests/data_to_text.rs +++ b/tests/poc/data_to_text.rs @@ -1,21 +1,37 @@ use trevors_utilities::data_to_text::DataToText; fn read_bin(source: &str) -> Vec { - let full_path = format!("/home/tmerritt/Projects/trevors_utilities/resources/data_to_text/{}.bin", source); + let full_path = format!( + "{}/resources/data_to_text/{}.bin", + std::env::current_dir() + .unwrap() + .to_str() + .unwrap() + .to_string(), + source + ); // println!("FULL PATH BIN: [{}]", full_path); std::fs::read(full_path).unwrap() } fn read_display(source: &str) -> String { - let full_path = format!("/home/tmerritt/Projects/trevors_utilities/resources/data_to_text/{}.display", source); + let full_path = format!( + "{}/resources/data_to_text/{}.display", + std::env::current_dir() + .unwrap() + .to_str() + .unwrap() + .to_string(), + source + ); std::fs::read_to_string(full_path).unwrap() } #[test] fn data_to_text() { let data_to_display: &[u8] = &[ - 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, - 0x74, 0x20, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x20, + 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, + 0x20, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x20, ]; let expected_data: &str = "0x66 0x67 0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f 0x70 0x71 0x72 0x73 0x74 0x20 fghijklmnopqrst \n0x76 0x77 0x78 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f 0x20 vwxyz{|}~. \n"; @@ -25,10 +41,7 @@ fn data_to_text() { #[test] fn quickbrownfoxtest() { - let test_params = vec![ - "quickbrownfox", - "q" - ]; + let test_params = vec!["quickbrownfox", "q"]; for stub in test_params { // load the content from quickbrownfox.bin @@ -40,9 +53,7 @@ fn quickbrownfoxtest() { // load the content from quickbrownfox.display let expected = read_display(stub); - assert_eq!( - formatted, expected - ); + assert_eq!(formatted, expected); } } @@ -51,7 +62,5 @@ fn data_to_text_window_all() { let bin_data = read_bin("quickbrownfox"); let formatted = DataToText::data_to_text_window(&bin_data, 0, bin_data.len()); let expected = read_display("quickbrownfox"); - assert_eq!( - formatted, expected - ); + assert_eq!(formatted, expected); } diff --git a/tests/poc/mod.rs b/tests/poc/mod.rs new file mode 100644 index 0000000..b25a786 --- /dev/null +++ b/tests/poc/mod.rs @@ -0,0 +1,3 @@ +mod data_to_text; +mod number_system_conversion; +mod test_compression; diff --git a/tests/number_system_conversion.rs b/tests/poc/number_system_conversion.rs similarity index 76% rename from tests/number_system_conversion.rs rename to tests/poc/number_system_conversion.rs index 9c9e851..077da6a 100644 --- a/tests/number_system_conversion.rs +++ b/tests/poc/number_system_conversion.rs @@ -7,9 +7,10 @@ fn byte_to_bool_and_bool_to_byte() { // **** NOTE THAT THIS VISUALLY IS BACKWARDS AS INDEX 0 IS FIRST AND LSB IS LAST **** let test_params: BTreeMap = BTreeMap::from([ (0xff, [true, true, true, true, true, true, true, true]), - (0x00, [ - false, false, false, false, false, false, false, false, - ]), + ( + 0x00, + [false, false, false, false, false, false, false, false], + ), (0xa0, [false, false, false, false, false, true, false, true]), ]); @@ -118,17 +119,14 @@ fn clear_high_bits() { (0b1111_1111_0101_1010, 0b0000_0000_0101_1010), (0b1111_1111_1111_1111, 0b0000_0000_1111_1111), (0b0000_0000_1111_1111, 0b0000_0000_1111_1111), - (0b0101_1010_1001_0110, 0b0000_0000_1001_0110) + (0b0101_1010_1001_0110, 0b0000_0000_1001_0110), ]; for (src, dst) in test_params { let result = NumberSystemConversion::clear_high_bits(src); println!("Rolled {src:016b} to {result:016b} / {dst:016b}"); - assert_eq!( - NumberSystemConversion::clear_high_bits(src), - dst); + assert_eq!(NumberSystemConversion::clear_high_bits(src), dst); } - } #[test] @@ -137,29 +135,39 @@ fn clear_low_bits() { (0b1111_1111_0101_1010, 0b1111_1111_0000_0000), (0b1111_1111_1111_1111, 0b1111_1111_0000_0000), (0b0000_0000_1111_1111, 0b0000_0000_0000_0000), - (0b0101_1010_1001_0110, 0b0101_1010_0000_0000) + (0b0101_1010_1001_0110, 0b0101_1010_0000_0000), ]; for (src, dst) in test_params { let result = NumberSystemConversion::clear_low_bits(src); println!("Rolled {src:08b} to {result:08b} / {dst:08b}"); - assert_eq!( - NumberSystemConversion::clear_low_bits(src), - dst); + assert_eq!(NumberSystemConversion::clear_low_bits(src), dst); } } #[test] fn is_bit_set_checks() { let params = vec![ - (0b0000_0001, vec![true, false, false, false, false, false, false, false]), - (0b1111_1111, vec![true, true, true, true, true, true, true, true]), - (0b1010_1010, vec![false, true, false, true, false, true, false, true]) + ( + 0b0000_0001, + vec![true, false, false, false, false, false, false, false], + ), + ( + 0b1111_1111, + vec![true, true, true, true, true, true, true, true], + ), + ( + 0b1010_1010, + vec![false, true, false, true, false, true, false, true], + ), ]; for (base, options) in params { for (index, expected) in options.iter().enumerate() { - assert_eq!(*expected, NumberSystemConversion::is_bit_set(base, index as u8)); + assert_eq!( + *expected, + NumberSystemConversion::is_bit_set(base, index as u8) + ); } } } @@ -167,14 +175,26 @@ fn is_bit_set_checks() { #[test] fn is_bit_clear_checks() { let params = vec![ - (0b0000_0001, vec![false, true, true, true, true, true, true, true]), - (0b1111_1111, vec![false, false, false, false, false, false, false, false]), - (0b1010_1010, vec![true, false, true, false, true, false, true, false]) + ( + 0b0000_0001, + vec![false, true, true, true, true, true, true, true], + ), + ( + 0b1111_1111, + vec![false, false, false, false, false, false, false, false], + ), + ( + 0b1010_1010, + vec![true, false, true, false, true, false, true, false], + ), ]; for (base, options) in params { for (index, expected) in options.iter().enumerate() { - assert_eq!(*expected, NumberSystemConversion::is_bit_clear(base, index as u8)); + assert_eq!( + *expected, + NumberSystemConversion::is_bit_clear(base, index as u8) + ); } } } diff --git a/tests/test_compression.rs b/tests/poc/test_compression.rs similarity index 97% rename from tests/test_compression.rs rename to tests/poc/test_compression.rs index 8886ac1..6a987db 100644 --- a/tests/test_compression.rs +++ b/tests/poc/test_compression.rs @@ -150,10 +150,9 @@ fn decompress_to_array() { let decompressed_data = TestCompression::decompress_file_to_array(temp_file.path()); // Convert to string to compare - let decompressed_text = String::from_utf8(decompressed_data) - .expect("Decompressed bytes were not valid UTF-8"); + let decompressed_text = + String::from_utf8(decompressed_data).expect("Decompressed bytes were not valid UTF-8"); assert_eq!(decompressed_text, original_text); - } #[test]