rust-lang / rustlings

:crab: Small exercises to get you used to reading and writing Rust code!
https://rustlings.cool
MIT License
54.15k stars 10.16k forks source link

Code working with "// I AM NOT DONE" but not without it (Hashmaps 1) #1966

Closed GraysonHuey closed 6 months ago

GraysonHuey commented 6 months ago

On the hashmaps 1 problem, my code apparently requires the "I AM NOT DONE" comment to build successfully. If I take it out, it doesn't pass the tests. I'm not sure if this is an issue with rustlings or if my code is just wrong. I can't continue through rustlings until I figure this out. Here's the code I have:

// hashmaps1.rs
//
// A basket of fruits in the form of a hash map needs to be defined. The key
// represents the name of the fruit and the value represents how many of that
// particular fruit is in the basket. You have to put at least three different
// types of fruits (e.g apple, banana, mango) in the basket and the total count
// of all the fruits should be at least five.
//
// Make me compile and pass the tests!
//
// Execute `rustlings hint hashmaps1` or use the `hint` watch subcommand for a
// hint.

// I AM NOT DONE

use std::collections::HashMap;

fn fruit_basket() -> HashMap<String, u32> {
    let mut basket = HashMap::new();

    // Add different types of fruits to the basket
    basket.insert(String::from("banana"), 3);
    basket.insert(String::from("apple"), 2);
    basket.insert(String::from("orange"), 1);

    basket
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn at_least_three_types_of_fruits() {
        let basket = fruit_basket();
        assert!(basket.len() >= 3);
    }

    #[test]
    fn at_least_five_fruits() {
        let basket = fruit_basket();
        assert!(basket.values().sum::<u32>() >= 5);
    }
}
GraysonHuey commented 6 months ago

nevermind i'm just stupid and can't read apparently... the failed tests were the next problem... im sorry guys