diff options
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); + } + } +} |
