Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pub struct Banana {
- name: String,
- age: u32
- }
- pub fn eat(banana: Banana) {
- print!("Ate the {} with after {} years", banana.name, banana.age);
- }
- pub mod rename {
- // also U+0000 (NUL) through U+001F (US)
- pub const EXFAT_DISALLOWED: &str = "/\\:*?\"<>|";
- pub fn remove_invalid(s: &mut String) -> () {
- let copy = s.clone();
- s.clear();
- copy.chars()
- .filter(|&c| !EXFAT_DISALLOWED.contains(c) )
- .for_each(|c| s.push(c))
- }
- }
- #[cfg(test)]
- mod tests {
- use super::rename::remove_invalid;
- use super::{Banana, eat};
- #[test]
- fn test_remote_invalid_bad_str_return_without_bad_chars() {
- let mut bad = String::from("abba:ba?bb||a");
- remove_invalid(&mut bad);
- let expected = String::from("abbababba");
- assert_eq!(expected, bad);
- }
- #[test]
- fn can_eat_banana() {
- let b = Banana {name: String::from("Epic banana"), age: 42};
- eat(b);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement