general introduction and overview
replicate the docs. you can find them as comments in the source code or on the main Lodash docs page
classify all possible inputs into groups. Each classification contains inputs that have similar characteristics. In other words; each classification represents a unique scenario that would call for separate test cases.
Take note of the relationships between your classifications. Is one a more specific version of another? Are two of them mutually exclusive? Will some of your categories overlap from time to time? The answers to these questions will impact how you select your test cases.
How did you use this information to select your test cases?
then write a bunch of test cases in /test/test-cases.js
Include the test cases from the docs
- Why are these interesting test cases?
- What behavior do they demonstrate?
- Do they capture good fringe cases?
- What might be some other test cases you'd want to try?
What language features & tricks are used in this function?
Describe them here, and include any helpful exercises in the /exercises folder.
Summarize what you've learned and struggled with studying this function.