/** * Unit test framework entry point for this set of unit tests. * */ void testSimpleNetwork_runTests() { unsigned char ipBytes[MAX_ADDR_LENGTH]; //can be set to INET6_ADDRSTRLEN; void *handle; int numBytes; char *data; char *hostname = "host.domain"; char* request = "GET /midlets/midlet.jad HTTP/1.0\n\n"; testGetHostByName(hostname, ipBytes); handle = testOpen(ipBytes, 80); printf("open handle = %d\n", (int)handle); testWrite(handle, request); numBytes = testAvailable(handle); printf("numBytes = %d\n", numBytes); if (numBytes > 0) { data = (char *) malloc((numBytes + 1)*sizeof(char)); testRead(handle, data, numBytes); printf("\n Data from server :\n"); printf("%s\n", data); } testClose(handle); }
void testOutStream(void) { ////////////////////////////// Cluster/Point outStream - Cluster/Point outStream - Cluster/Point outStream ///////////// std::string header = "C/P: outStream"; testSectionHeader(header); int testNum = 1; // Test starting number int numDims = 5; // Dimensions in test arrays (don't go below 2) ////////////////////////////// Cluster/Point outStream - Cluster/Point outStream - Cluster/Point outStream ///////////// { testTitle(testNum++, header, "Cluster/Point outStream"); Cluster c1(numDims); std::cout << "Cluster c" << c1.getId() << ";"; std::cout << std::endl; std::ifstream inFile; std::cout << "std::ifstream inFile;"; std::cout << std::endl; // WARNING!! MAKE SURE THE CURRENT WORKING DIRECTORY IS SET TO WHEREVER YOU HAVE main.cpp inFile.open("infile_1.txt"); std::cout << "inFile.open(\"infile_1.txt\");"; std::cout << std::endl; inFile >> c1; std::cout << "inFile >> c" << c1.getId() << ";"; std::cout << std::endl; std::ofstream outFile; std::cout << "std::ofstream outFile;"; std::cout << std::endl; outFile.open("outfile.txt"); std::cout << "outfile.open(\"outfile.txt\");"; std::cout << std::endl; outFile << c1; std::cout << "outFile << c" << c1.getId() << ";"; std::cout << std::endl; std::cout << std::endl; std::cout << "[Cluster Status Before Output]"; std::cout << std::endl; std::cout << "c" << c1.getId(); std::cout << std::endl; c1.loud(1); testCheck(); std::cout << "(Check outfile.txt for output...)"; std::cout << std::endl; testClose(); } testSectionClose(header); }
void testKMean(void) { ////////////////////////////// Cluster/Point iStream - Cluster/Point iStream - Cluster/Point iStream /////////////////// std::string header = "KMean"; testSectionHeader(header); int testNum = 1; // Test starting number int numDims = 5; // Dimensions in test arrays (don't go below 2) ////////////////////////////// Cluster/Point iStream - Cluster/Point iStream - Cluster/Point iStream /////////////////// { testTitle(testNum++, header, "KMean"); KMeans K(3,3); // Works with either KMeans K(int) or KMeans K(int,int) testClose(); } testSectionClose(header); }
static void do_test_api1(const char *zPattern, int *pRc){ if( testCaseBegin(pRc, zPattern, "api1.lsm") ){ const DatasourceDefn defn = { TEST_DATASOURCE_RANDOM, 10, 15, 200, 250 }; Datasource *pData; TestDb *pDb; int rc = 0; pDb = testOpen("lsm_lomem", 1, &rc); pData = testDatasourceNew(&defn); testWriteDatasourceRange(pDb, pData, 0, 1000, pRc); do_test_api1_lsm(tdb_lsm(pDb), pRc); testDatasourceFree(pData); testClose(&pDb); testCaseFinish(*pRc); } }
static void testAPI(RTTEST hTest) { testMappingsQuery(hTest); testMappingsQueryName(hTest); testMapFolder(hTest); testUnmapFolder(hTest); testCreate(hTest); testClose(hTest); testRead(hTest); testWrite(hTest); testLock(hTest); testFlush(hTest); testDirList(hTest); testReadLink(hTest); testFSInfo(hTest); testRemove(hTest); testRename(hTest); testSymlink(hTest); testMappingsAdd(hTest); testMappingsRemove(hTest); /* testSetStatusLed(hTest); */ }
static void doDataTest4( const char *zSystem, /* Database system to test */ Datatest4 *p, /* Structure containing test parameters */ int *pRc /* OUT: Error code */ ){ lsm_db *db = 0; TestDb *pDb; TestDb *pControl; Datasource *pData; int i; int rc = 0; int iDot = 0; int bMultiThreaded = 0; /* True for MT LSM database */ int nRecOn3 = (p->nRec / 3); int iData = 0; /* Start the test case, open a database and allocate the datasource. */ rc = testControlDb(&pControl); pDb = testOpen(zSystem, 1, &rc); pData = testDatasourceNew(&p->defn); if( rc==0 ){ db = tdb_lsm(pDb); bMultiThreaded = tdb_lsm_multithread(pDb); } testWriteDatasourceRange(pControl, pData, iData, nRecOn3*3, &rc); testWriteDatasourceRange(pDb, pData, iData, nRecOn3*3, &rc); for(i=0; rc==0 && i<p->nRepeat; i++){ testDeleteDatasourceRange(pControl, pData, iData, nRecOn3*2, &rc); testDeleteDatasourceRange(pDb, pData, iData, nRecOn3*2, &rc); if( db ){ int nDone; #if 0 fprintf(stderr, "lsm_work() start...\n"); fflush(stderr); #endif do { nDone = 0; rc = lsm_work(db, 1, (1<<30), &nDone); }while( rc==0 && nDone>0 ); if( bMultiThreaded && rc==LSM_BUSY ) rc = LSM_OK; #if 0 fprintf(stderr, "lsm_work() done...\n"); fflush(stderr); #endif } if( i+1<p->nRepeat ){ iData += (nRecOn3*2); testWriteDatasourceRange(pControl, pData, iData+nRecOn3, nRecOn3*2, &rc); testWriteDatasourceRange(pDb, pData, iData+nRecOn3, nRecOn3*2, &rc); testCompareDb(pData, nRecOn3*3, iData, pControl, pDb, &rc); /* If Datatest4.bReopen is true, close and reopen the database */ if( p->bReopen ){ testReopen(&pDb, &rc); if( rc==0 ) db = tdb_lsm(pDb); } } /* Update the progress dots... */ testCaseProgress(i, p->nRepeat, testCaseNDot(), &iDot); } testClose(&pDb); testClose(&pControl); testDatasourceFree(pData); testCaseFinish(rc); *pRc = rc; }
void testCentroid(void) { ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// std::string header = "Centroid Operations"; testSectionHeader(header); int testNum = 1; // Test starting number int numDims = 5; // Dimensions in test arrays (don't go below 2) ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { testTitle(testNum++, header, "Centroid Operations - setCentroid(default)"); Cluster c1(numDims); std::cout << "Cluster c" << c1.getId() << ";"; std::cout << std::endl; std::ifstream inFile; std::cout << "std::ifstream inFile;"; std::cout << std::endl; // WARNING!! MAKE SURE THE CURRENT WORKING DIRECTORY IS SET TO WHEREVER YOU HAVE main.cpp inFile.open("infile_1.txt"); std::cout << "inFile.open(\"infile_1.txt\");"; std::cout << std::endl; inFile >> c1; std::cout << "inFile >> c" << c1.getId() << ";"; std::cout << std::endl; c1.setCentroid(); std::cout << "c" << c1.getId() << ".setCentroid();"; std::cout << std::endl; testResult(); std::cout << "c" << c1.getId() << ".getCentroid(): (" << c1.getCentroid() << ")"; std::cout << std::endl; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { testTitle(testNum++, header, "Centroid Operations - setCentroid(point)"); Cluster c1(numDims); std::cout << "Cluster c" << c1.getId() << ";"; std::cout << std::endl; std::ifstream inFile; std::cout << "std::ifstream inFile;"; std::cout << std::endl; // WARNING!! MAKE SURE THE CURRENT WORKING DIRECTORY IS SET TO WHEREVER YOU HAVE main.cpp inFile.open("infile_1.txt"); std::cout << "inFile.open(\"infile_1.txt\");"; std::cout << std::endl; inFile >> c1; std::cout << "inFile >> c" << c1.getId() << ";"; std::cout << std::endl; double *p1arr = new double[numDims]; randPt(numDims, 2, 4, p1arr); std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; std::cout << std::endl; c1.add(p1); std::cout << "c1.add(p1);"; delete[] p1arr; std::cout << std::endl; c1.setCentroid(p1); std::cout << "c1.setCentroid(p1);"; std::cout << std::endl; testResult(); std::cout << "c" << c1.getId() << ".getCentroid(): (" << c1.getCentroid() << ")"; std::cout << std::endl; c1.loud(); std::cout << std::endl; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { testTitle(testNum++, header, "Centroid Operations - setCentroid(point) [Not in cluster]"); Cluster c1(numDims); std::cout << "Cluster c" << c1.getId() << ";"; std::cout << std::endl; std::ifstream inFile; std::cout << "std::ifstream inFile;"; std::cout << std::endl; // WARNING!! MAKE SURE THE CURRENT WORKING DIRECTORY IS SET TO WHEREVER YOU HAVE main.cpp inFile.open("infile_1.txt"); std::cout << "inFile.open(\"infile_1.txt\");"; std::cout << std::endl; inFile >> c1; std::cout << "inFile >> c" << c1.getId() << ";"; std::cout << std::endl; double *p1arr = new double[numDims]; randPt(numDims, 0, 9, p1arr); std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; delete[] p1arr; std::cout << std::endl; c1.setCentroid(p1); std::cout << "c1.setCentroid(p1);"; std::cout << std::endl; testResult(); std::cout << "c" << c1.getId() << ".getCentroid(): (" << c1.getCentroid() << ")"; std::cout << std::endl; c1.loud(); std::cout << std::endl; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { testTitle(testNum++, header, "Centroid Operations - computeCentroid() [1]"); Cluster c1(numDims); std::cout << "Cluster c" << c1.getId() << ";"; std::cout << std::endl; std::ifstream inFile; std::cout << "std::ifstream inFile;"; std::cout << std::endl; // WARNING!! MAKE SURE THE CURRENT WORKING DIRECTORY IS SET TO WHEREVER YOU HAVE main.cpp inFile.open("infile_1.txt"); std::cout << "inFile.open(\"infile_1.txt\");"; std::cout << std::endl; inFile >> c1; std::cout << "inFile >> c" << c1.getId() << ";"; std::cout << std::endl; c1.setCentroid(); std::cout << "c" << c1.getId() << ".setCentroid();"; std::cout << std::endl; c1.computeCentroid(); std::cout << "c" << c1.getId() << ".computeCentroid();"; std::cout << std::endl; testResult(); std::cout << "c" << c1.getId() << ".getCentroid(): (" << c1.getCentroid() << ")"; std::cout << std::endl; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { testTitle(testNum++, header, "Centroid Operations - computeCentroid() [2]"); Cluster c1(numDims); std::cout << "Cluster c" << c1.getId() << ";"; std::cout << std::endl; double p1arr[] = {21,12,0,0,0}; double p2arr[] = {0,0,15,0,0}; double p3arr[] = {0,0,0,9,3}; std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; std::cout << "double p2arr[" << numDims << "] = "; testPtArr(numDims, p2arr, "{", "};"); std::cout << std::endl; std::cout << "double p3arr[" << numDims << "] = "; testPtArr(numDims, p3arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; std::cout << std::endl; Point p2(numDims, p2arr); std::cout << "Point p2(" << numDims << ", p2arr);"; std::cout << std::endl; Point p3(numDims, p3arr); std::cout << "Point p3(" << numDims << ", p3arr);"; std::cout << std::endl; c1.add(p1); std::cout << "c1.add(p1);"; std::cout << std::endl; c1.add(p2); std::cout << "c1.add(p2);"; std::cout << std::endl; c1.add(p3); std::cout << "c1.add(p3);"; std::cout << std::endl; c1.setCentroid(); std::cout << "c" << c1.getId() << ".setCentroid();"; std::cout << std::endl; c1.computeCentroid(); std::cout << "c" << c1.getId() << ".computeCentroid();"; std::cout << std::endl; testResult(); std::cout << "c" << c1.getId() << ".getCentroid(): (" << c1.getCentroid() << ")"; std::cout << std::endl; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { testTitle(testNum++, header, "Centroid Operations - Move(&)"); Cluster c1(numDims); std::cout << "Cluster c1(numDims);"; std::cout << std::endl; Cluster c2(numDims); std::cout << "Cluster c2(numDims);"; std::cout << std::endl; double p1arr[] = {6,12,0,0,0}; double p2arr[] = {0,0,18,0,0}; double p3arr[] = {0,0,0,24,30}; std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; std::cout << "double p2arr[" << numDims << "] = "; testPtArr(numDims, p2arr, "{", "};"); std::cout << std::endl; std::cout << "double p3arr[" << numDims << "] = "; testPtArr(numDims, p3arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; std::cout << std::endl; Point p2(numDims, p2arr); std::cout << "Point p2(" << numDims << ", p2arr);"; std::cout << std::endl; Point p3(numDims, p3arr); std::cout << "Point p3(" << numDims << ", p3arr);"; std::cout << std::endl; c1.add(p1); std::cout << "c1.add(p1);"; std::cout << std::endl; c1.add(p2); std::cout << "c1.add(p2);"; std::cout << std::endl; c1.add(p3); std::cout << "c1.add(p3);"; std::cout << std::endl; std::cout << std::endl << std::endl << "[Current Data Formulation]"; std::cout << std::endl; c1.loud("c1"); std::cout << std::endl; c2.loud("c2"); std::cout << std::endl; c1.computeCentroid(); std::cout << std::endl; std::cout << "c1.computeCentroid(): (" << c1.getCentroid() << ")"; c2.computeCentroid(); std::cout << std::endl; std::cout << "c2.computeCentroid(): (" << c2.getCentroid() << ")"; std::cout << std::endl; std::cout << std::endl; Cluster::Move(&p1,&c1,&c2).perform(); std::cout << "Cluster::Move(&p1,&c1,&c2).perform();"; std::cout << std::endl << std::endl << "[Current Data Formulation]"; std::cout << std::endl; std::cout << std::endl; c1.loud("c1"); std::cout << std::endl; c2.loud("c2"); std::cout << std::endl; std::cout << std::endl; std::cout << "c1.computeCentroid(): (" << c1.getCentroid() << ")"; c2.computeCentroid(); std::cout << std::endl; std::cout << "c2.computeCentroid(): (" << c2.getCentroid() << ")"; Cluster::Move(&p2,&c1,&c2).perform(); std::cout << std::endl; std::cout << "Cluster::Move(&p2,&c1,&c2).perform();"; std::cout << std::endl << std::endl << "[Current Data Formulation]"; std::cout << std::endl; std::cout << std::endl; c1.loud("c1"); std::cout << std::endl; c2.loud("c2"); std::cout << std::endl; c1.computeCentroid(); std::cout << std::endl; std::cout << "c1.computeCentroid(): (" << c1.getCentroid() << ")"; c2.computeCentroid(); std::cout << std::endl; std::cout << "c2.computeCentroid(): (" << c2.getCentroid() << ")"; std::cout << std::endl; Cluster::Move(&p3,&c1,&c2).perform(); std::cout << "Cluster::Move(&p3,&c1,&c2).perform();"; std::cout << std::endl << std::endl << "[Current Data Formulation]"; std::cout << std::endl; c1.loud("c1"); std::cout << std::endl; c2.loud("c2"); std::cout << std::endl; testResult(); c1.computeCentroid(); std::cout << std::endl; std::cout << "c1.computeCentroid(): (" << c1.getCentroid() << ")"; c2.computeCentroid(); std::cout << std::endl; std::cout << "c2.computeCentroid(): (" << c2.getCentroid() << ")"; std::cout << std::endl; c1.loud("c1"); std::cout << std::endl; c2.loud("c2"); std::cout << std::endl; testCheck(); std::cout << std::endl << "c1.computeCentroid(): [Garbage]"; std::cout << std::endl << "c2.computeCentroid(): (2, 4, 6, 8, 10)"; std::cout << std::endl; std::cout << std::endl << "c1: Size(0) Centroid: (2.07409e-236)"; std::cout << std::endl << "{}"; std::cout << std::endl; std::cout << std::endl << "c2: Size(3) Centroid: (2, 4, 6, 8, 10)"; std::cout << std::endl << "{(0,0,0,24,30),(0,0,18,0,0),(6,12,0,0,0)}"; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { numDims = 6; // Dimensions in test arrays (don't go below 2) testTitle(testNum++, header, "Centroid Operations - pickPoints()"); Cluster c1(numDims); std::cout << "Cluster c1(numDims);"; std::cout << std::endl; double p1arr[] = {6,0,0,0,0,0}; double p2arr[] = {0,12,0,0,0,0}; double p3arr[] = {0,0,18,0,0,0}; double p4arr[] = {0,0,0,24,0,0}; double p5arr[] = {0,0,0,0,30,0}; double p6arr[] = {0,0,0,0,0,36}; std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; std::cout << "double p2arr[" << numDims << "] = "; testPtArr(numDims, p2arr, "{", "};"); std::cout << std::endl; std::cout << "double p3arr[" << numDims << "] = "; testPtArr(numDims, p3arr, "{", "};"); std::cout << std::endl; std::cout << "double p4arr[" << numDims << "] = "; testPtArr(numDims, p4arr, "{", "};"); std::cout << std::endl; std::cout << "double p5arr[" << numDims << "] = "; testPtArr(numDims, p5arr, "{", "};"); std::cout << std::endl; std::cout << "double p6arr[" << numDims << "] = "; testPtArr(numDims, p6arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; std::cout << std::endl; Point p2(numDims, p2arr); std::cout << "Point p2(" << numDims << ", p2arr);"; std::cout << std::endl; Point p3(numDims, p3arr); std::cout << "Point p3(" << numDims << ", p3arr);"; std::cout << std::endl; Point p4(numDims, p4arr); std::cout << "Point p4(" << numDims << ", p4arr);"; std::cout << std::endl; Point p5(numDims, p5arr); std::cout << "Point p5(" << numDims << ", p5arr);"; std::cout << std::endl; Point p6(numDims, p6arr); std::cout << "Point p6(" << numDims << ", p5arr);"; std::cout << std::endl; c1.add(p1); std::cout << "c1.add(p1);"; std::cout << std::endl; c1.add(p2); std::cout << "c1.add(p2);"; std::cout << std::endl; c1.add(p3); std::cout << "c1.add(p3);"; std::cout << std::endl; c1.add(p4); std::cout << "c1.add(p4);"; std::cout << std::endl; c1.add(p5); std::cout << "c1.add(p5);"; std::cout << std::endl; c1.add(p6); std::cout << "c1.add(p6);"; PointPtr pickArray1[1]; PointPtr pickArray2[2]; PointPtr pickArray3[3]; PointPtr pickArray4[4]; PointPtr pickArray5[5]; PointPtr pickArray6[6]; PointPtr pickArray7[7]; std::cout << std::endl; c1.pickPoints(1,pickArray1); std::cout << "c1.pickPoints(1,pickArray1);"; std::cout << std::endl; c1.pickPoints(2,pickArray2); std::cout << "c2.pickPoints(2,pickArray2);"; std::cout << std::endl; c1.pickPoints(3,pickArray3); std::cout << "c3.pickPoints(3,pickArray3);"; std::cout << std::endl; c1.pickPoints(4,pickArray4); std::cout << "c4.pickPoints(4,pickArray4);"; std::cout << std::endl; c1.pickPoints(5,pickArray5); std::cout << "c5.pickPoints(5,pickArray5);"; std::cout << std::endl; c1.pickPoints(6,pickArray6); std::cout << "c1.pickPoints(6,pickArray6);"; std::cout << std::endl; c1.pickPoints(7,pickArray7); std::cout << "c1.pickPoints(7,pickArray7);"; testResult(); std::cout << std::endl << "pickArray1:\n(" << *pickArray1[0] << ")"; std::cout << std::endl << "pickArray2:\n(" << *pickArray2[0] << ")" << "\n(" << *pickArray2[1] << ")"; std::cout << std::endl << "pickArray3:\n(" << *pickArray3[0] << ")" << "\n(" << *pickArray3[1] << ")" << "\n(" << *pickArray3[2] << ")"; std::cout << std::endl << "pickArray4:\n(" << *pickArray4[0] << ")" << "\n(" << *pickArray4[1] << ")" << "\n(" << *pickArray4[2] << ")" << "\n(" << *pickArray4[3] << ")"; std::cout << std::endl << "pickArray5:\n(" << *pickArray5[0] << ")" << "\n(" << *pickArray5[1] << ")" << "\n(" << *pickArray5[2] << ")" << "\n(" << *pickArray5[3] << ")" << "\n(" << *pickArray5[4] << ")"; std::cout << std::endl << "pickArray6:\n(" << *pickArray6[0] << ")" << "\n(" << *pickArray6[1] << ")" << "\n(" << *pickArray6[2] << ")" << "\n(" << *pickArray6[3] << ")" << "\n(" << *pickArray6[4] << ")" << "\n(" << *pickArray6[5] << ")"; std::cout << std::endl << "pickArray6:\n(" << *pickArray7[0] << ")" << "\n(" << *pickArray7[1] << ")" << "\n(" << *pickArray7[2] << ")" << "\n(" << *pickArray7[3] << ")" << "\n(" << *pickArray7[4] << ")" << "\n(" << *pickArray7[5] << ")"; std::cout << std::endl; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { numDims = 4; // Dimensions in test arrays (don't go below 2) testTitle(testNum++, header, "Centroid Operations - intraClusterDistance()"); Cluster c1(numDims); std::cout << "Cluster c1(numDims);"; std::cout << std::endl; double p1arr[] = {1,2,3,4}; double p2arr[] = {2,3,4,5}; double p3arr[] = {3,4,5,6}; double p4arr[] = {4,5,6,7}; std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; std::cout << "double p2arr[" << numDims << "] = "; testPtArr(numDims, p2arr, "{", "};"); std::cout << std::endl; std::cout << "double p3arr[" << numDims << "] = "; testPtArr(numDims, p3arr, "{", "};"); std::cout << std::endl; std::cout << "double p4arr[" << numDims << "] = "; testPtArr(numDims, p4arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; std::cout << std::endl; Point p2(numDims, p2arr); std::cout << "Point p2(" << numDims << ", p2arr);"; std::cout << std::endl; Point p3(numDims, p3arr); std::cout << "Point p3(" << numDims << ", p3arr);"; std::cout << std::endl; Point p4(numDims, p4arr); std::cout << "Point p4(" << numDims << ", p4arr);"; std::cout << std::endl; c1.add(p1); std::cout << "c1.add(p1);"; std::cout << std::endl; c1.add(p2); std::cout << "c1.add(p2);"; std::cout << std::endl; c1.add(p3); std::cout << "c1.add(p3);"; std::cout << std::endl; c1.add(p4); std::cout << "c1.add(p4);"; testResult(); std::cout << std::endl << "c1.intraClusterDistance(): " << c1.intraClusterDistance(); testCheck(); std::cout << std::endl << "c1.intraClusterDistance(): 20"; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { numDims = 4; // Dimensions in test arrays (don't go below 2) testTitle(testNum++, header, "Centroid Operations - interClusterDistance()"); Cluster c1(numDims); std::cout << "Cluster c1(numDims);"; std::cout << std::endl; Cluster c2(numDims); std::cout << "Cluster c1(numDims);"; std::cout << std::endl; double p1arr[] = {1,2,3,4}; double p2arr[] = {2,3,4,5}; double p3arr[] = {3,4,5,6}; double p4arr[] = {4,5,6,7}; std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; std::cout << "double p2arr[" << numDims << "] = "; testPtArr(numDims, p2arr, "{", "};"); std::cout << std::endl; std::cout << "double p3arr[" << numDims << "] = "; testPtArr(numDims, p3arr, "{", "};"); std::cout << std::endl; std::cout << "double p4arr[" << numDims << "] = "; testPtArr(numDims, p4arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; std::cout << std::endl; Point p2(numDims, p2arr); std::cout << "Point p2(" << numDims << ", p2arr);"; std::cout << std::endl; Point p3(numDims, p3arr); std::cout << "Point p3(" << numDims << ", p3arr);"; std::cout << std::endl; Point p4(numDims, p4arr); std::cout << "Point p4(" << numDims << ", p4arr);"; std::cout << std::endl; c1.add(p1); std::cout << "c1.add(p1);"; std::cout << std::endl; c1.add(p2); std::cout << "c1.add(p2);"; std::cout << std::endl; c2.add(p3); std::cout << "c2.add(p3);"; std::cout << std::endl; c2.add(p4); std::cout << "c2.add(p4);"; testResult(); std::cout << std::endl << "c1.interClusterDistance(): " << interClusterDistance(c1,c2); testCheck(); std::cout << std::endl << "c1.interClusterDistance(): 8"; testClose(); } ////////////////////////////// Centroid Operations - Centroid Operations - Centroid Operations ///////////////////////// { numDims = 4; // Dimensions in test arrays (don't go below 2) testTitle(testNum++, header, "Centroid Operations - getClusterEdges()"); Cluster c1(numDims); std::cout << "Cluster c1(numDims);"; std::cout << std::endl; double p1arr[] = {1,2,3,4}; double p2arr[] = {2,3,4,5}; double p3arr[] = {3,4,5,6}; double p4arr[] = {4,5,6,7}; std::cout << "double p1arr[" << numDims << "] = "; testPtArr(numDims, p1arr, "{", "};"); std::cout << std::endl; std::cout << "double p2arr[" << numDims << "] = "; testPtArr(numDims, p2arr, "{", "};"); std::cout << std::endl; std::cout << "double p3arr[" << numDims << "] = "; testPtArr(numDims, p3arr, "{", "};"); std::cout << std::endl; std::cout << "double p4arr[" << numDims << "] = "; testPtArr(numDims, p4arr, "{", "};"); std::cout << std::endl; Point p1(numDims, p1arr); std::cout << "Point p1(" << numDims << ", p1arr);"; std::cout << std::endl; Point p2(numDims, p2arr); std::cout << "Point p2(" << numDims << ", p2arr);"; std::cout << std::endl; Point p3(numDims, p3arr); std::cout << "Point p3(" << numDims << ", p3arr);"; std::cout << std::endl; Point p4(numDims, p4arr); std::cout << "Point p4(" << numDims << ", p4arr);"; std::cout << std::endl; c1.add(p1); std::cout << "c1.add(p1);"; std::cout << std::endl; c1.add(p2); std::cout << "c1.add(p2);"; std::cout << std::endl; c1.add(p3); std::cout << "c1.add(p3);"; std::cout << std::endl; c1.add(p4); std::cout << "c1.add(p4);"; testResult(); std::cout << std::endl << "c1.getClusterEdges(): " << c1.getClusterEdges(); testCheck(); std::cout << std::endl << "c1.getClusterEdges(): 6"; testClose(); } testSectionClose(header); }