diff options
| author | Brian Kung <brian@callmekung.com> | 2019-05-25 06:39:58 -0500 |
|---|---|---|
| committer | Brian Kung <brian@callmekung.com> | 2019-05-25 06:39:58 -0500 |
| commit | 9b92aa08aead17d7737137f1c5c382548797b83e (patch) | |
| tree | a1707dc54c1b04901269fa88d5c0c2f8eb34de91 /exercises/structs | |
| parent | 8bf8cbbd61a909b0580162c9f1fd314885daf1c2 (diff) | |
Adds a simple exercise for structures
Diffstat (limited to 'exercises/structs')
| -rw-r--r-- | exercises/structs/README.md | 7 | ||||
| -rw-r--r-- | exercises/structs/structs1.rs | 46 |
2 files changed, 53 insertions, 0 deletions
diff --git a/exercises/structs/README.md b/exercises/structs/README.md new file mode 100644 index 0000000..f400d09 --- /dev/null +++ b/exercises/structs/README.md @@ -0,0 +1,7 @@ +### Strings + +Rust has three struct types: a classic c struct, a tuple struct, and a unit struct. + +#### Book Sections + +- [Structures](https://doc.rust-lang.org/rust-by-example/custom_types/structs.html) 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); + } + } +} |
