summaryrefslogtreecommitdiff
path: root/exercises/structs/structs1.rs
diff options
context:
space:
mode:
authorBrian Kung <brian@callmekung.com>2019-05-25 06:39:58 -0500
committerBrian Kung <brian@callmekung.com>2019-05-25 06:39:58 -0500
commit9b92aa08aead17d7737137f1c5c382548797b83e (patch)
treea1707dc54c1b04901269fa88d5c0c2f8eb34de91 /exercises/structs/structs1.rs
parent8bf8cbbd61a909b0580162c9f1fd314885daf1c2 (diff)
Adds a simple exercise for structures
Diffstat (limited to 'exercises/structs/structs1.rs')
-rw-r--r--exercises/structs/structs1.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/exercises/structs/structs1.rs b/exercises/structs/structs1.rs
new file mode 100644
index 0000000..e6c378f
--- /dev/null
+++ b/exercises/structs/structs1.rs
@@ -0,0 +1,46 @@
+// structs1.rs
+// Address all the TODOs to make the tests pass!
+
+struct ColorClassicStruct {
+ // TODO: Something goes here
+}
+
+struct ColorTupleStruct(/* TODO: Something goes here */);
+
+struct ColorUnitStruct;
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn classic_c_structs() {
+ // TODO: Instantiate a classic c struct!
+ // let green =
+
+ assert_eq!(green.name, "green");
+ assert_eq!(green.hex, "#00FF00");
+ }
+
+ #[test]
+ fn tuple_structs() {
+ // TODO: Instantiate a tuple struct!
+ // For more fun, use the field initialization shorthand.
+ // let green =
+
+ assert_eq!(green.0, "green");
+ assert_eq!(green.1, "#00FF00");
+ }
+
+ #[test]
+ fn unit_structs() {
+ // TODO: Instantiate a unit struct!
+ // let green =
+
+ if let ColorUnitStruct = green {
+ assert!(true);
+ } else {
+ assert!(false);
+ }
+ }
+}