-// Now we are almost done! Writing a test in Rust is shockingly simple. Just write a function
-// that takes no arguments as returns nothing, and add `#[test]` right in front of it.
-// That's called an *attribute*, and the `test` attribute, well, declares the function to
-// be a test.
-
-// Within the function, we can then use `panic!` to indicate test failure. Helpfully, there's
-// a macro `assert!` that panics if its argument becomes `false`.
-// Using `assert!` and our brand-new `equals`, we can now call `vec_min` with some lists
-// and make sure it returns The Right Thing.
-#[test]
-fn test_vec_min() {
- assert!(vec_min(vec![6,325,33,532,5,7]).equals(Something(5)));
- assert!(vec_min(vec![6,325,33,532]).equals(Something(6)));
-}
-// To execute the test, run `cargo test`. It should tell you that everything is all right.
-// Now that was simple, wasn't it?
-//
-// **Exercise**: Add a case to `test_vec_min` that checks the behavior on empty lists.
-//
-// **Exercise**: Change `vec_min` such that everything still compiles, but the test fails.
-//
-// **Bonus Exercise**: Because `String::parse` is itself generic, you can change `read_vec` to
-// be a generic function that works for any type, not just for `i32`. However, you will have to add
-// a trait bound to `read_vec`, as not every type supports being parsed. <br/>
-// Once you made `vec_min` generic, copy your generic `print` from the previous part. Implement all
-// our traits (`Minimum` and `Print`) for `f32` (32-bit floating-point numbers), and change `part_main()`
-// such that your program now computes the minimum of a list of floating-point numbers. <br/>
-// *Hint*: You can figure out the trait bound `read_vec` needs from the documentation of `String::parse`.
-// Furthermore, `std::cmp::min` works not just for `i32`, but also for `f32`.