summaryrefslogtreecommitdiff
path: root/rustlings/exercises/quizzes/quiz3.rs
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-10-02 21:53:51 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-10-02 21:53:51 -0500
commit4dfc11d74ab02ac5765ae5d08fb750c91f4744b4 (patch)
tree17ba62056d6b691dd0217b0e8f1b3a5826dce0f6 /rustlings/exercises/quizzes/quiz3.rs
parent02d8f1c62896576e1266553a56980eddbc2a88d7 (diff)
rustlings: move to rust/
Diffstat (limited to 'rustlings/exercises/quizzes/quiz3.rs')
-rw-r--r--rustlings/exercises/quizzes/quiz3.rs64
1 files changed, 0 insertions, 64 deletions
diff --git a/rustlings/exercises/quizzes/quiz3.rs b/rustlings/exercises/quizzes/quiz3.rs
deleted file mode 100644
index 5bb859f..0000000
--- a/rustlings/exercises/quizzes/quiz3.rs
+++ /dev/null
@@ -1,64 +0,0 @@
-// This quiz tests:
-// - Generics
-// - Traits
-//
-// An imaginary magical school has a new report card generation system written
-// in Rust! Currently, the system only supports creating report cards where the
-// student's grade is represented numerically (e.g. 1.0 -> 5.5). However, the
-// school also issues alphabetical grades (A+ -> F-) and needs to be able to
-// print both types of report card!
-//
-// Make the necessary code changes in the struct `ReportCard` and the impl
-// block to support alphabetical report cards in addition to numerical ones.
-
-// TODO: Adjust the struct as described above.
-struct ReportCard<T> {
- grade: T,
- student_name: String,
- student_age: u8,
-}
-
-// TODO: Adjust the impl block as described above.
-impl<T: std::fmt::Display> ReportCard<T> {
- fn print(&self) -> String {
- format!(
- "{} ({}) - achieved a grade of {}",
- &self.student_name, &self.student_age, &self.grade,
- )
- }
-}
-
-fn main() {
- // You can optionally experiment here.
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- fn generate_numeric_report_card() {
- let report_card = ReportCard {
- grade: 2.1,
- student_name: "Tom Wriggle".to_string(),
- student_age: 12,
- };
- assert_eq!(
- report_card.print(),
- "Tom Wriggle (12) - achieved a grade of 2.1",
- );
- }
-
- #[test]
- fn generate_alphabetic_report_card() {
- let report_card = ReportCard {
- grade: "A+",
- student_name: "Gary Plotter".to_string(),
- student_age: 11,
- };
- assert_eq!(
- report_card.print(),
- "Gary Plotter (11) - achieved a grade of A+",
- );
- }
-}