///|
/// Swap the case of each letter in a string.
///
/// Uppercase ASCII letters become lowercase, lowercase ASCII letters become
/// uppercase, and every other character is copied unchanged.
///
/// # Example
///
/// ```mbt check
/// test "swap_case doc example" {
/// assert_eq(swap_case("Hello World"), "hELLO wORLD")
/// assert_eq(swap_case("snake_case"), "SNAKE_CASE")
/// assert_eq(swap_case(""), "")
/// }
/// ```
pub fn swap_case(text : String) -> String {
let chars = text.to_array()
let mut result = ""
for i = 0; i < chars.length(); i = i + 1 {
let char = chars[i]
if is_uppercase(char) {
result = result + to_lowercase(char).to_string()
} else if is_lowercase(char) {
result = result + to_uppercase(char).to_string()
} else {
result = result + char.to_string()
}
}
result
}