diff options
| author | Arnaud Bailly <arnaud.bailly@iohk.io> | 2024-10-13 22:48:31 +0200 |
|---|---|---|
| committer | Arnaud Bailly <arnaud.bailly@iohk.io> | 2024-10-13 22:48:31 +0200 |
| commit | d32a31646c2e2357e94b22b3e6c1e2aab035d5c4 (patch) | |
| tree | 595c47805573816f974a21cfba1008c7643a714d | |
| parent | 0ab73e47af2bba3fb2ff6a4bf08ada4a3309bf3e (diff) | |
| download | lambda-nantes-d32a31646c2e2357e94b22b3e6c1e2aab035d5c4.tar.gz | |
Limit grade to 255
| -rw-r--r-- | rust/src/web.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/rust/src/web.rs b/rust/src/web.rs index c63268a..5be1cfe 100644 --- a/rust/src/web.rs +++ b/rust/src/web.rs @@ -146,7 +146,9 @@ impl Client { .collect::<Vec<_>>() .join("\n"); if actual == *expected { - self.grade += 1; + if self.grade < u8::MAX { + self.grade += 1; + } self.delay = Duration::from_secs_f64(self.delay.as_secs_f64() * 0.8); if self.delay.as_millis() < 500 { self.delay = Duration::from_millis(500); @@ -737,6 +739,19 @@ mod app_tests { } #[test] + async fn client_score_cannot_go_beyond_255() { + let mut client = client(); + let expected = "1".to_string(); + let response = Ok("1".to_string()); + + for _ in 0..256 { + client.check_result(&expected, &response); + } + + assert_eq!(255, client.grade); + } + + #[test] async fn client_decreases_delay_to_next_upon_successful_test() { let mut client = client(); let expected = "1".to_string(); |
