Auto merge of #163 - briankung:add_structs, r=komaeda

Adds a simple exercise for structures

Thanks for rustlings! Here's a small contribution in return.
This commit is contained in:
bors 2019-05-25 13:40:15 +00:00
commit 1f07fd4150
3 changed files with 59 additions and 0 deletions

View file

@ -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)

View file

@ -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);
}
}
}

View file

@ -76,6 +76,12 @@ mode = "compile"
path = "exercises/primitive_types/primitive_types6.rs" path = "exercises/primitive_types/primitive_types6.rs"
mode = "compile" mode = "compile"
# STRUCTS
[[exercises]]
path = "exercises/structs/structs1.rs"
mode = "test"
# TESTS # TESTS
[[exercises]] [[exercises]]