Introduction:
The .Net Developer Practicum is an exercise to extend the functionality of an existing solution.
The .NET Developer practicum is evaluated on:
- Object Oriented Design
- Readability
- Maintainability
- Testability
- Extensibility
Hints:
- Take the time to walk through the existing functionality before trying to make changes
- Feel free to add 3rd party packages as needed
Technical Requirements:
Solution must:
- Compile without errors
- Run from the command line
- Pass all automated test cases
- Demonstrate your knowledge of automated testing by implementing both unit and acceptance tests
Functional Requirements:
- Add ability to switch between morning and evening and have that be the first required parameter (case insensitive)
- Add ability to have different dishes in the morning and at night (See sample input/output below)
- You can have multiple orders of coffee in the morning (but still no more than 1 each of the other Dish Types)
- Dessert is not available as a morning Dish Type
- ✓
Preserve existing requirements:- ✓
You must enter a comma delimited list of Dish Types with at least one selection - ✓
The output must print Dish Names in the following order: entrée, side, drink, dessert - ✓
If invalid selection is encountered, then print "error" - ✓
Ignore whitespace in the input - ✓
Each Dish Type is optional (i.e. can have zero if not entered in the input) - ✓
You can have multiple orders of potatoes (but still no more than 1 each of the other Dish Types) - ✓
If more than one Dish Type is entered, output it once, followed by "(xN)", e.g. "potato(x2)"
- ✓
✓ Covered by tests
Dishes for Morning
Dish Type | Dish Name |
---|---|
1 (entrée) | egg |
2 (side) | toast |
3 (drink) | coffee |
Dishes for Evening
Dish Type | Dish Name |
---|---|
1 (entrée) | steak |
2 (side) | potato |
3 (drink) | wine |
4 (dessert) | cake |
Sample Input and Output:
Input | Output |
---|---|
morning, 1, 2, 3 | egg,toast,coffee |
Morning,3,3,3 | coffee(x3) |
morning ,1,3,2,3 | egg,toast,coffee(x2) |
morning, 1, 2, 2 | error |
morning, 1, 2, 4 | error |
evening,1, 2, 3, 4 | steak,potato,wine,cake |
Evening,1, 2, 2, 4 | steak,potato(x2),cake |
evening,1, 2, 3, 5 | error |
evening,1, 3, 2, 3 | error |