diff options
| author | mo8it <mo8it@proton.me> | 2024-06-27 16:40:26 +0200 |
|---|---|---|
| committer | mo8it <mo8it@proton.me> | 2024-06-27 16:40:26 +0200 |
| commit | 803e32dad2395d309b74b9fde6b9e08577cf8a0a (patch) | |
| tree | 6f0e5c6a2a5fea5c89d52e02b7c5143b9dea7c38 | |
| parent | a4f8826301c793180d94e891603fab22e9492f5c (diff) | |
tests2 solution
| -rw-r--r-- | exercises/17_tests/tests2.rs | 13 | ||||
| -rw-r--r-- | rustlings-macros/info.toml | 6 | ||||
| -rw-r--r-- | solutions/17_tests/tests2.rs | 23 |
3 files changed, 34 insertions, 8 deletions
diff --git a/exercises/17_tests/tests2.rs b/exercises/17_tests/tests2.rs index f0899e1..0c6573e 100644 --- a/exercises/17_tests/tests2.rs +++ b/exercises/17_tests/tests2.rs @@ -1,5 +1,8 @@ -// This test has a problem with it -- make the test compile! Make the test pass! -// Make the test fail! +// Calculates the power of 2 using a bit shift. +// `1 << n` is equivalent to "2 to the power of n". +fn power_of_2(n: u8) -> u64 { + 1 << n +} fn main() { // You can optionally experiment here. @@ -7,8 +10,14 @@ fn main() { #[cfg(test)] mod tests { + use super::*; + #[test] fn you_can_assert_eq() { + // TODO: Test the function `power_of_2` with some values. + assert_eq!(); + assert_eq!(); + assert_eq!(); assert_eq!(); } } diff --git a/rustlings-macros/info.toml b/rustlings-macros/info.toml index 27ed6b9..4fd2bd8 100644 --- a/rustlings-macros/info.toml +++ b/rustlings-macros/info.toml @@ -862,13 +862,9 @@ ones pass, and which ones fail :)""" name = "tests2" dir = "17_tests" hint = """ -Like the previous exercise, you don't need to write any code to get this test -to compile and run. - `assert_eq!` is a macro that takes two arguments and compares them. Try giving it two values that are equal! Try giving it two arguments that are different! -Try giving it two values that are of different types! Try switching which -argument comes first and which comes second!""" +Try switching which argument comes first and which comes second!""" [[exercises]] name = "tests3" diff --git a/solutions/17_tests/tests2.rs b/solutions/17_tests/tests2.rs index 4e18198..39a0005 100644 --- a/solutions/17_tests/tests2.rs +++ b/solutions/17_tests/tests2.rs @@ -1 +1,22 @@ -// Solutions will be available before the stable release. Thank you for testing the beta version 🥰 +// Calculates the power of 2 using a bit shift. +// `1 << n` is equivalent to "2 to the power of n". +fn power_of_2(n: u8) -> u64 { + 1 << n +} + +fn main() { + // You can optionally experiment here. +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn you_can_assert_eq() { + assert_eq!(power_of_2(0), 1); + assert_eq!(power_of_2(1), 2); + assert_eq!(power_of_2(2), 4); + assert_eq!(power_of_2(3), 8); + } +} |
