Updated 'src/automated_tests/howto.md'.

This commit is contained in:
Hector PENG
2026-03-25 16:17:04 +08:00
parent 87c3274395
commit 002e3d04c5
5 changed files with 108 additions and 103 deletions

View File

@@ -0,0 +1,6 @@
[package]
name = "rectangle"
version = "0.1.0"
edition = "2024"
[dependencies]

View File

@@ -0,0 +1,45 @@
#[derive(Debug)]
struct Rectangle {
width: u32,
height: u32,
}
impl Rectangle {
fn can_hold(&self, other: &Rectangle) -> bool {
(self.width < other.width && self.height > other.height)
|| (self.width < other.height && self.height > other.width)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn larger_can_hold_smaller() {
let larger = Rectangle {
width: 8,
height: 7,
};
let smaller = Rectangle {
width: 5,
height: 1,
};
assert! (larger.can_hold(&smaller));
}
#[test]
fn smaller_cannot_hold_larger() {
let larger = Rectangle {
width: 8,
height: 7,
};
let smaller = Rectangle {
width: 5,
height: 1,
};
assert!(!smaller.can_hold(&larger));
}
}

View File

@@ -1,8 +0,0 @@
[package]
name = "rectangles"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

View File

@@ -1,44 +0,0 @@
#[derive(Debug)]
struct Rectangle {
width: u32,
height: u32,
}
impl Rectangle {
fn area(&self) -> u32 {
self.width * self.height
}
fn can_hold(&self, other: &Rectangle) -> bool {
(self.width > other.width && self.height > other.height)
|| (self.width > other.height && self.height > other.width)
}
fn square(size: u32) -> Self {
Self {
width: size,
height: size,
}
}
}
fn main() {
let rect1 = Rectangle {
width: 30,
height: 50,
};
let rect2 = Rectangle {
width: 10,
height: 40,
};
let rect3 = Rectangle {
width: 48,
height: 28,
};
println! ("rect1 可以容纳 rect2 吗?{}", rect1.can_hold(&rect2));
println! ("rect1 可以容纳 rect3 吗?{}", rect1.can_hold(&rect3));
}