diff options
Diffstat (limited to 'exercises')
| -rw-r--r-- | exercises/tests/tests4.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/exercises/tests/tests4.rs b/exercises/tests/tests4.rs new file mode 100644 index 0000000..2d8dd13 --- /dev/null +++ b/exercises/tests/tests4.rs @@ -0,0 +1,40 @@ +// tests4.rs +// Correct the tests to +// Do not change Rectangle::new body +// Execute `rustlings hint tests4` or use the `hint` watch subcommand for a hint. + +// I AM NOT DONE + +struct Rectangle { + width: i32, + height: i32 +} + +impl Rectangle { + pub fn new(width: i32, height: i32) -> Self { + if width < 0 || height < 0 { + panic!("Rectangle width and height cannot be negative!") + } + Rectangle {width, height} + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn correct_width_and_height() { + let _rect = Rectangle::new(10, 10); + } + + #[test] + fn negative_width() { + let _rect = Rectangle::new(-10, 10); + } + + #[test] + fn negative_height() { + let _rect = Rectangle::new(10, -10); + } +} |
