catgirl-cooking/src/tests.rs

36 lines
1.0 KiB
Rust

#[cfg(test)]
mod tests {
// Note this useful idiom: importing names from outer (for mod tests) scope.
use crate::structures::*;
use crate::networking::{parse_tags};
#[test]
fn test_tag_new() {
assert_eq!(Tag::new("test".to_string()), Tag('#', "test".to_string()));
}
#[test]
fn test_tag_from_string() {
assert_eq!(Tag::from_string("#test".to_string()), Tag('#', "test".to_string()));
}
#[test]
fn test_tag_to_string() {
assert_eq!(Tag('#', "test".to_string()).to_string(), "#test".to_string());
}
#[test]
fn test_shortcode_conversion() {
assert_eq!(construct_shortcode("Test SHORtcode".to_string()), "test-shortcode".to_string());
}
#[test]
fn test_parse_tags() {
assert_eq!(parse_tags("one,TWO ,tHRee, #four".to_string()), vec![
Tag('#',"one".to_string()),
Tag('#',"two".to_string()),
Tag('#',"three".to_string()),
Tag('#',"four".to_string())]);
}
}