Skip to content

Commit

Permalink
feat: Add if2 exercise
Browse files Browse the repository at this point in the history
  • Loading branch information
wrobstory committed May 2, 2020
1 parent ebfe76c commit 1da84b5
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
36 changes: 36 additions & 0 deletions exercises/if/if2.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// if2.rs

// Step 1: Make me compile!
// Step 2: Get the bar_for_fuzz and default_to_baz tests passing!
// Execute the command `rustlings hint if2` if you want a hint :)

// I AM NOT DONE

pub fn fizz_if_foo(fizzish: &str) -> &str {
if fizzish == "fizz" {
"foo"
} else {
1
}
}

// No test changes needed!
#[cfg(test)]
mod tests {
use super::*;

#[test]
fn foo_for_fizz() {
assert_eq!(fizz_if_foo("fizz"), "foo")
}

#[test]
fn bar_for_fuzz() {
assert_eq!(fizz_if_foo("fuzz"), "bar")
}

#[test]
fn default_to_baz() {
assert_eq!(fizz_if_foo("literally anything"), "baz")
}
}
9 changes: 9 additions & 0 deletions info.toml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,15 @@ Remember in Rust that:
- `if`/`else` conditionals are expressions
- Each condition is followed by a `{}` block."""

[[exercises]]
name = "if2"
path = "exercises/if/if2.rs"
mode = "test"
hint = """
For that first compiler error, it's important in Rust that each conditional
block return the same type! To get the tests passing, you will need a couple
conditions checking different input values."""

# FUNCTIONS

[[exercises]]
Expand Down

0 comments on commit 1da84b5

Please sign in to comment.