Exercise on Unit Testing: Download the CardConcepts Solution; reset its UnitTests project so that it is the Start-up project. Run the unit test already written in my UnitTests project. Your exercise: 1. write this unit test for class Deck: create a deck object, then deal and print 20 cards 2. write this unit test for class Hand: create a deck object and a hand object, deal 5 cards to the hand object, then write the hand's cards (use ToString) 3. write the missing code for method BJScore in class Hand and and write a test for it (deal some cards to a hand and write the hand's score) For now, assume an Ace has value of 1. ============================ How to assess: Ask the student to run their unit tests. Look at the code they wrote for #3 and its unit test. Ask student if the unit tests reveal any concerns about the classes Card, Deck, Hand (In particular, Test 1: what if we dealt 55 cards?) Do the three unit tests *guarantee* code correctness ??? ============================ Postmortem ============================ ABOUT the Lecture-2 exercise: When a team develops a library of components, the team also writes a collection of unit tests, which is stored with the library. When a component is updated, all the unit tests are rerun to validate that nothing was broken by the update. New tests are added over time. Visual Studio has a built-in tool to help you write, save, and run unit tests. It takes some effort to learn. Unit tests should exercise all the fields and methods of a class. There should be tests that try the correct protocol for calling a class's methods. (See example in the Lecture-2 notes for a textfile.) ============================= OLD: ABOUT Assignment 1: Use the CardConcepts library to build a console app that lets you play Blackjack ("21") against a computerized "house" player. Each round, the two of you compete to build a hand that gets closest to 21. (We will add graphics later.) Read carefully the rules, 1-2-3, for playing one round. The game plays multiple rounds. Be careful: ---when an Ace is found within a Hand of cards, its value can be 1 or 11. ---the game plays with one deck of cards, which are dealt one by one. After several rounds, the deck will shrink to empty. At that point, the used cards are moved back into the deck and reused. You implement your own VS solution and save it in the same folder as the CardConcepts Solution --- see the picture. Implement as much as you can of the game and upload to K-State Online by Weds. evening 11:55pm. THIS IS A SOLO PROJECT.