1: // Created by Frank M. Carrano and Timothy M. Henry.
2: // Copyright (c) 2017 Pearson Education, Hoboken, New Jersey.
4: #include <iostream>
5: #include <string>
6: #include "ArrayBag.h"
8: using std::cout;
9: using std::endl;
11: void displayBag(ArrayBag<std::string>& bag)
12: {
13: cout << "The bag contains " << bag.getCurrentSize()
14: << " items:" << endl;
15: std::vector<string> bagItems = bag.toVector();
16:
17: int numberOfEntries = (int)bagItems.size();
18: for (int i = 0; i < numberOfEntries; i++)
19: {
20: cout << bagItems[i] << " ";
21: } // end for
22: cout << endl << endl;
23: } // end displayBag
25: void bagTester(ArrayBag<string>& bag)
26: {
27: cout << "isEmpty: returns " << bag.isEmpty()
28: << "; should be 1 (true)" << endl;
29: displayBag(bag);
30:
31: std::string items[] = {"one", "two", "three", "four", "five", "one"};
32: cout << "Add 6 items to the bag: " << endl;
33: for (int i = 0; i < 6; i++)
34: {
35: bag.add(items[i]);
36: } // end for
37:
38: displayBag(bag);
39:
40: cout << "isEmpty: returns " << bag.isEmpty()
41: << "; should be 0 (false)" << endl;
42:
43: cout << "getCurrentSize: returns " << bag.getCurrentSize()
44: << "; should be 6" << endl;
45:
46: cout << "Try to add another entry: add(\"extra\") returns "
47: << bag.add("extra") << endl;
48: } // end bagTester
50: int main()
51: {
52: ArrayBag<std::string> bag;
53: cout << "Testing the Array-Based Bag:" << endl;
54: cout << "The initial bag is empty." << endl;
55: bagTester(bag);
56: cout << "All done!" << endl;
57:
58: return 0;
59: } // end main