Summary of Presentation of February 17, 1999 We continued with testing of the program for February 12th. Today, we developed a simple driver module ( a main function) to do basis path testing of the OpenForOutput function. This main function told the user which file names to provide to the unit under test since we did not have a test harness ( a program that wraps around the unit under test and provides it with input while capturing all of its output). We did an extensive discussion of streams since students seemed to lack the necessary understanding from Comp 227-228. A stream is just a sequence of items of unlimited size. There are input streams which a program ( C or C++ or many other programming languages) uses to get values and output streams onto which a program places values. One special type of input stream is intended for use with a physical file. This is called an ifstream. We declare a variable of type ifstream such as ifstream example; Then we need to tell the operating system what physical file this stream will get its values from. To do that, we open the stream, for example example.open("figures"); where figures is a file in the current directory that contains the data we want to get. As a result of the open, the operating system establishes a connection between our stream variable and the actual physical file. The operating system builds and maintains a large, complex set of data structures to keep track of the correspondence between the stream and the actual physical file. The ifstream variable ( example in our example) has a pointer to these data structures as its value after the open. We discussed several input operations on ifstreams including get, >>, and ignore. We also discussed output using ofstreams and the << operator. Students were reminded that they should be reviewing and improving their facility with the non object-oriented features of C++ since we will be moving to more complex features in a couple of weeks. Nine programs are available on this web site to assist students in ensuring they understand these features. We will be moving on to chapter 18 with the next class period.