summaryrefslogtreecommitdiff
path: root/exercises/generics/generics3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/generics/generics3.rs')
-rw-r--r--exercises/generics/generics3.rs58
1 files changed, 0 insertions, 58 deletions
diff --git a/exercises/generics/generics3.rs b/exercises/generics/generics3.rs
deleted file mode 100644
index 64dd9bc..0000000
--- a/exercises/generics/generics3.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-// 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. Change the Grade in the second test to "A+"
-// to show that your changes allow alphabetical grades.
-
-// Execute 'rustlings hint generics3' for hints!
-
-// I AM NOT DONE
-
-pub struct ReportCard {
- pub grade: f32,
- pub student_name: String,
- pub student_age: u8,
-}
-
-impl ReportCard {
- pub fn print(&self) -> String {
- format!("{} ({}) - achieved a grade of {}",
- &self.student_name, &self.student_age, &self.grade)
- }
-}
-
-#[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() {
- // TODO: Make sure to change the grade here after you finish the exercise.
- let report_card = ReportCard {
- grade: 2.1,
- student_name: "Gary Plotter".to_string(),
- student_age: 11,
- };
- assert_eq!(
- report_card.print(),
- "Gary Plotter (11) - achieved a grade of A+"
- );
- }
-}