Skip to content

Commit

Permalink
Auto merge of #163 - briankung:add_structs, r=komaeda
Browse files Browse the repository at this point in the history
Adds a simple exercise for structures

Thanks for rustlings! Here's a small contribution in return.
  • Loading branch information
bors committed May 25, 2019
2 parents 8bf8cbb + 9b92aa0 commit 1f07fd4
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 0 deletions.
7 changes: 7 additions & 0 deletions exercises/structs/README.md
Original file line number Diff line number Diff line change
@@ -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)
46 changes: 46 additions & 0 deletions exercises/structs/structs1.rs
Original file line number Diff line number Diff line change
@@ -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);
}
}
}
6 changes: 6 additions & 0 deletions info.toml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ mode = "compile"
path = "exercises/primitive_types/primitive_types6.rs"
mode = "compile"

# STRUCTS

[[exercises]]
path = "exercises/structs/structs1.rs"
mode = "test"

# TESTS

[[exercises]]
Expand Down

0 comments on commit 1f07fd4

Please sign in to comment.