This is a main program to test the floatVector class, which has similar
capabilities to STL vector<float>
.
See Example: floatVector - Version 1 for links to
the header and implementation files.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
// fv1/floatVectorTest.cpp Test program for floatVector class. // Fred Swartz 2004-12-01 #include <iostream> using namespace std; #include "floatVector.h" //======================================================= prototypes void test(bool cond, string message); //====================================================== global vars static int testsPassed; static int testsFailed; //============================================================= main int main() { //... Initialize test stats. testsPassed = 0; testsFailed = 0; floatVector v; // Calls constructor test(v.size()==0, "Initial size 0"); //--- Test single element. v.push_back(1.0); test(v.size() ==1 , "push_back() added one element"); test(v.at(0) ==1.0, "at() returned correct value"); test(v.back() ==1.0, "back() returned correct value"); //--- Add enough elements to cause expansion int currentSize = v.capacity(); int addN = 0; // number of values to be added. for (; addN<5*currentSize; addN++) { v.push_back(2.0 * addN); } test(v.size()==addN+1, "size() ok after expansion."); test(v.back()==2.0*(addN-1), "last value ok after expansion"); //--- Test assignment to at. v.at(2) = 66.0; test(v.at(2)==66.0, "at() on left-hand-side."); //--- Test assignment to back. v.back() = 99.0; test(v.at(v.size()-1)==99.0, "back() on left-hand-side."); floatVector v10; for (int i=1; i<=10; i++) { v10.push_back(1.0 * i); } //--- Test clear v10.clear(); test(v10.size() == 0, "clear()"); //... Print test result summary. cout << endl << "============================= Test Results" << endl; cout << "= Passed: " << testsPassed << endl; if (testsFailed > 0) { cout << "= >>>>>>>>>>>>>>FAILED: " << testsFailed << endl; } else { cout << "= No failures" << endl; } cout << "=============================" << endl; system("PAUSE"); // Keep Dev-C++ window open return 0; }//end main //================================================================ test void test(bool cond, string message) { if (cond) { cout << " Passed: "; testsPassed++; } else { cout << "FAILED: "; testsFailed++; } cout << message << endl; } |