initial commit
This commit is contained in:
33
exercises/02_basic_calculator/06_while/src/lib.rs
Normal file
33
exercises/02_basic_calculator/06_while/src/lib.rs
Normal file
@@ -0,0 +1,33 @@
|
||||
// Rewrite the factorial function using a `while` loop.
|
||||
pub fn factorial(n: u32) -> u32 {
|
||||
// The `todo!()` macro is a placeholder that the compiler
|
||||
// interprets as "I'll get back to this later", thus
|
||||
// suppressing type errors.
|
||||
// It panics at runtime.
|
||||
todo!()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::factorial;
|
||||
|
||||
#[test]
|
||||
fn first() {
|
||||
assert_eq!(factorial(0), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn second() {
|
||||
assert_eq!(factorial(1), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn third() {
|
||||
assert_eq!(factorial(2), 2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fifth() {
|
||||
assert_eq!(factorial(5), 120);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user