|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
// tests4.rs
|
|
|
|
|
// Correct the tests to
|
|
|
|
|
// Do not change Rectangle::new body
|
|
|
|
|
// Make sure that we're testing for the correct conditions!
|
|
|
|
|
// Execute `rustlings hint tests4` or use the `hint` watch subcommand for a hint.
|
|
|
|
|
|
|
|
|
|
// I AM NOT DONE
|
|
|
|
@ -11,6 +10,7 @@ struct Rectangle {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl Rectangle {
|
|
|
|
|
// Only change the test functions themselves
|
|
|
|
|
pub fn new(width: i32, height: i32) -> Self {
|
|
|
|
|
if width < 0 || height < 0 {
|
|
|
|
|
panic!("Rectangle width and height cannot be negative!")
|
|
|
|
@ -25,16 +25,21 @@ mod tests {
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn correct_width_and_height() {
|
|
|
|
|
let _rect = Rectangle::new(10, 10);
|
|
|
|
|
// This test should check if the rectangle is the size that we pass into its constructor
|
|
|
|
|
let rect = Rectangle::new(10, 20);
|
|
|
|
|
assert_eq!(???, 10); // check width
|
|
|
|
|
assert_eq!(???, 20); // check height
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn negative_width() {
|
|
|
|
|
// This test should check if thread panics when we try to create rectangle with negative width
|
|
|
|
|
let _rect = Rectangle::new(-10, 10);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn negative_height() {
|
|
|
|
|
// This test should check if thread panics when we try to create rectangle with negative height
|
|
|
|
|
let _rect = Rectangle::new(10, -10);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|