100 exercises to learn Rust
This commit is contained in:
36
exercises/06_ticket_management/11_mutable_slices/src/lib.rs
Normal file
36
exercises/06_ticket_management/11_mutable_slices/src/lib.rs
Normal file
@@ -0,0 +1,36 @@
|
||||
// TODO: Define a function named `lowercase` that converts all characters in a string to lowercase,
|
||||
// modifying the input in place.
|
||||
// Does it need to take a `&mut String`? Does a `&mut [str]` work? Why or why not?
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn empty() {
|
||||
let mut s = String::from("");
|
||||
lowercase(&mut s);
|
||||
assert_eq!(s, "");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn one_char() {
|
||||
let mut s = String::from("A");
|
||||
lowercase(&mut s);
|
||||
assert_eq!(s, "a");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn multiple_chars() {
|
||||
let mut s = String::from("Hello, World!");
|
||||
lowercase(&mut s);
|
||||
assert_eq!(s, "hello, world!");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn mut_slice() {
|
||||
let mut s = "Hello, World!".to_string();
|
||||
lowercase(s.as_mut_str());
|
||||
assert_eq!(s, "hello, world!");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user