// UMBC - CMSC 341 - Fall 2024 - Proj0 #include "solitaire.h" using namespace std; class Tester{ public: bool testCopyConstructorNormal(const Solitaire& solitaire); }; int main(){ cout << "Create a diamond board:" << endl; Solitaire pegSolitaire(DIAMOND); pegSolitaire.dumpBoard(); cout << "Make a move from (6,4) to (4,4):" << endl; pegSolitaire.play(pair(6,4), pair(4,4)); pegSolitaire.dumpBoard(); cout << "Make a move from (6,6) to (6,4):" << endl; pegSolitaire.play(pair(6,6), pair(6,4)); pegSolitaire.dumpBoard(); pegSolitaire.reportNumMarbles(); Tester aTester; cout << endl; cout << "Testing copy constructor normal case:" << endl; if (aTester.testCopyConstructorNormal(pegSolitaire)) cout << "\tCopy constructor test normal case passed!" << endl; else cout << "\tCopy constructor test normal case failed!" << endl; return 0; } bool Tester::testCopyConstructorNormal(const Solitaire& solitaire){ Solitaire copy(solitaire); if (solitaire.m_numColumns == copy.m_numColumns && solitaire.m_numRows == copy.m_numRows && solitaire.m_shape == copy.m_shape && solitaire.m_numMarbles == copy.m_numMarbles && solitaire.m_board != copy.m_board){ for (int i=0;i