# lab05 : Accumulator Pattern, more TDD practice

lab05 true Accumulator Pattern, more TDD practice Mon 04/30 08:00AM Mon 05/07 09:00PM

# Instructions

For this lab, you will create two files:

• lab05.py, a file containing some function definitions
• lab05_tests.py, a file containing some test cases

There is starter code for each of these (.py files) at the following link:

I suggest you proceed as follows:

1. Create a directory called ~/cs20/lab05 (using the mkdir command) and cd into that directory.
2. Use idle3 (you might try idle3 & if you want to keep your prompt handy) to bring up idle3.
3. Use “New File” to create empty files called lab05.py and lab05_tests.py in that ~/cs20/lab05 directory.
4. ONE AT A TIME, copy the function definitions from the starter code, and the tests that go along with those, and get the tests to pass.
• By one a a time, what I mean is, at your first step, copy ONLY the first function definition from the starter code lab05.py and copy only the test cases from lab05_tests.py that go with that function definition.
• By one a a time, what I mean is, at your first step, copy ONLY the first function definition from the starter code lab05.py and copy only the test cases from that go with that function definition.
• Then, before you move on to the next function definition and its tests, get all of the tests from the one you just copied to pass.
• Then, and only then, copy the next function definition and its tests into your files.
• Repeat this until you have ALL of the function definitions and their tests, and all of them pass.

Note that what you are given differs from function to function: either a complete function definitions

• In some cases you are given a function definition that is complete, but contains a bug. In this case, you need to fix the function definition.
• In some cases you are given a function definition that is correct. In this case, the code is there for you as an example—it is code that may be helpful to you in writing the other function definitions in the lab. There is nothing you need to do other than study the code to learn how it works.
• In some cases, you are given a stub.

When you’ve done that, you are ready to try submitting to Gradescope for a final grade. HOWEVER, you are encouraged to try submitting to Gradescope earlier, for several reasons:

• You can get partial credit if some of your tests pass for some of your functions
• You will have a backup of your file in case you accidentally delete yours from CSIL, or in case your laptop dies