Skip to main content

restaurant/
guess.rs

1pub struct Guess {
2    value: i32,
3}
4
5impl Guess {
6    pub fn new(value: i32) -> Guess {
7        if value < 1 {
8            panic!("Guess value must be greater than or equal to 1, got {}.",
9                   value);
10        } else if value > 100 {
11            panic!("Guess value must be less than or equal to 100, got {}.",
12                   value);
13        }
14
15        Guess {
16            value
17        }
18    }
19}
20
21#[cfg(test)]
22mod tests {
23    use super::*;
24
25    // 使用 should_panic 检查 panic
26    #[test]
27    #[should_panic(expected = "Guess value must be less than or equal to 100")]
28    fn greater_than_100() {
29        Guess::new(200);
30    }
31}
32