CS 112 Project 1: Test-Driven Development

Objectives:

  1. Practice using TDD.
  2. Practice building methods.
  3. Practice using C++.

Introduction

This week's project is to use test-driven development (TDD) to finish the MovieCollectionproject for our friend Phil. To do so, you are to use TDD to test and build the following methods:

You should use test-driven development for these methods:
  1. create test-methods for each of these operations, and then
  2. write the methods to pass the tests.
A significant portion of your score will be based on the effectiveness and thoroughness of your test-methods.

You are also to design and build an application that provides a textual, menu-driven user-interface that runs in a console or Terminal window, which Phil can use to search his collection for movies, directors, and/or years, add movies to his collection, remove movies from his collection, and save the collection. For example, your application might display:

   Welcome to Phil's Movie Collection Manager!

   Please enter:
      1 - to search the collection for movies by a given director
      2 - to search the collection for movies made in a given year
      3 - to search the collection for movies with a given phrase in their title
      4 - to add a new movie to the collection
      // ... other options ...
      0 - to quit
   --->
Alternatively, you might have the user enter characters ('a', 'b', 'c', ...). Your program should use a loop that displays the menu, reads the user's choice, and performs the corresponding function, until the user chooses to quit.

As in the lab exercise, you should design this application using object-oriented design (hint: the word application is a noun!).

Each file should contain an opening comment communicating who, where, when, what, and why for that file. Your should use good programming style and make your code self-documenting in terms of identifier names, vertical and horizontal white space, etc.

Submit


CS > 112 > Projects > 01


This page maintained by Joel Adams.