void main() { _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); // Tests Canonical Functions DoubleLinkedList<int> alist; //ctor DoubleLinkedList<int> blist(alist); //copy ctor DoubleLinkedList<int> clist; clist = blist; //= operator // Tests Mutators std::cout << alist.getHead() << std::endl; std::cout << alist.getTail() << std::endl; // Tests Methods TestAppend(alist); TestFirstAndLast(alist); TestPrepend(alist); TestPurge(alist); TestInsertBefore(); TestInsertAfter(); TestExtract(); std::cout << "\n********** List Integrity **********" << std::endl; alist.PrintForwards(); alist.PrintBackwards(); }
void main() { // Tests Canonical Functions DoubleLinkedList<int> alist; //ctor DoubleLinkedList<int> blist(alist); //copy ctor DoubleLinkedList<int> clist; clist = blist; //= operator // Tests Mutators std::cout << alist.getHead() << std::endl; std::cout << alist.getTail() << std::endl; // Tests Methods TestAppend(alist); TestFirstAndLast(alist); TestPrepend(alist); TestPurge(alist); TestInsertBefore(); TestInsertAfter(); TestExtract(); std::cout << "\n********** List Integrity **********" << std::endl; alist.PrintForwards(); alist.PrintBackwards(); _asm nop;//added as a break point location; }
void main() { // Tests Canonical Functions DoubleLinkedList<int> alist; //ctor DoubleLinkedList<int> blist(alist); //copy ctor DoubleLinkedList<int> clist; clist = blist; //= operator // Tests Mutators std::cout << alist.getHead() << std::endl; std::cout << alist.getTail() << std::endl; // Tests Methods TestAppend(alist); TestFirstAndLast(alist); TestPrepend(alist); TestPurge(alist); TestInsertBefore(); TestInsertAfter(); TestExtract(); std::cout << "\n********** List Integrity **********" << std::endl; alist.PrintForwards(); alist.PrintBackwards(); //The memory leak tool detects leaks because alist isn't being destroyed before it is called //by calling the destructor or the following line of code, the list is destroyed and //there are no leaks: //alist.Purge(); _CrtDumpMemoryLeaks(); }
int main() { // Please put in every lab and assignment this term for ease of testing for memory leaks //_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); cout << "\n********** Testing: DoubleLinkedList default ctor **********\n"; DoubleLinkedList<int> alist; //ctor cout << "\n********** Testing: DoubleLinkedList copy ctor with empty list **********\n"; DoubleLinkedList<int> blist(alist); //copy ctor DoubleLinkedList<int> clist; cout << "\n********** Testing: DoubleLinkedList op = **********\n"; clist = blist; //= operator // Note that these functions are only available for testing. // Will be removed from the list before going into production. cout << "\n********** Testing: DoubleLinkedList getters **********\n"; std::cout << alist.getHead() << std::endl; std::cout << alist.getTail() << std::endl; //// Tests Methods TestAppend(alist); TestFirstAndLast(alist); TestPrepend(alist); std::cout << "\n********** Testing: DoubleLinkedList Copy ctor with Full List **********" << std::endl; TestPurge(alist); TestInsertBefore(); TestInsertAfter(); TestExtract(); std::cout << "\n********** Testing: List Integrity **********" << std::endl; // Note these are also only for testing alist.PrintForwards(); alist.PrintBackwards(); // OK NOW MAKE SURE IT WORKS THE SAME FOR COMPLEX DATA TYPES // USE THE string CLASS // Please put in every lab and assignment this term for ease of testing for memory leaks system("pause"); return 0; }