#include #include "./stack.h" int main() { stack stk; std::cout << "---------------------- Test construct ----------------------" << std::endl; stk.display(); std::cout << "---------------------- Test isEmptyStack ----------------------" << std::endl; if (stk.isEmptyStack()) std::cout << "PASS" << std::endl; else std::cout << "FAIL" << std::endl; std::cout << "---------------------- Test push ----------------------" << std::endl; std::cout << "After pushing 10 20 30 40 into stack: " << std::endl; stk.push(10); stk.push(20); stk.push(30); stk.push(40); stk.display(); std::cout << "---------------------- Test top ----------------------" << std::endl; int value = stk.top(); if (value == 40) std::cout << "PASS" << std::endl; else std::cout << "FAIL" << std::endl; std::cout << "---------------------- Test pop ----------------------" << std::endl; stk.display(); stk.pop(); stk.pop(); std::cout << "After popping 2 times: " << std::endl; stk.display(); std::cout << "---------------------- Test overload = operator " "----------------------" << std::endl; stack stk1; std::cout << "stk current: " << std::endl; stk.display(); std::cout << std::endl << "Assign stk1 = stk " << std::endl; stk1 = stk; stk1.display(); std::cout << std::endl << "After pushing 8 9 10 into stk1:" << std::endl; stk1.push(8); stk1.push(9); stk1.push(10); stk1.display(); std::cout << std::endl << "stk current: " << std::endl; stk.display(); std::cout << "Assign back stk = stk1:" << std::endl; stk = stk1; stk.display(); return 0; }