Пример #1
0
bool Tests::runTests()
{
    Tests tests;
    std::cout << "Default Constructor Test" << std::endl;
    if (!tests.defaultConstructorTest())
    {
        std::cout << "Failed Default Constructor Test" << std::endl;
        tests.updateFailCounter();
    }
    if (!tests.stringPassedByReferenceConstructorTest())
    {
        std::cout << "Failed Constructor passed by Reference Test" << std::endl;
        tests.updateFailCounter();
    }
    if (!tests.getTest())
    {
        std::cout << "Failed get() Test" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Dereference Operator Test 1" << std::endl;
    if (!tests.dereferenceOperatorTest1())
    {
        std::cout << "Failed Dereference Operator Test 1" << std::endl;
        tests.updateFailCounter();
    }
    if (!tests.dereferenceOperatorTest2())
    {
        std::cout << "Failed Dereference Operator Test 2" << std::endl;
        tests.updateFailCounter();
    }
    if (!tests.dereferenceOperatorTest3())
    {
        std::cout << "Failed Dereference Operator Test 3" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Dereference Member Test 1" << std::endl;
    if (!tests.dereferenceObjectMemberTest1())
    {
        std::cout << "Failed Dereference Member Test" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Dereference Member Test 2" << std::endl;
    if (!tests.dereferenceObjectMemberTest2())
    {
        std::cout << "Failed Dereference Member Test" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Pointer Constructor Test" << std::endl;
    if (!tests.pointerConstructorTest())
    {
        std::cout << "Failed Pointer Constructor Test" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Simple Copy Constructor Test" << std::endl;
    if (!tests.simpleCopyConstructorTest())
    {
        std::cout << "Failed Simple Copy Constructor Test" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Unique Pointer Test 1" << std::endl;
    if (!tests.uniqueTest1())
    {
        std::cout << "Failed Unique Pointer Test 1" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Unique Pointer Test 2" << std::endl;
    if (!tests.uniqueTest2())
    {
        std::cout << "Failed Unique Pointer Test 2" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Unique Pointer Test 3" << std::endl;
    if (!tests.uniqueTest3())
    {
        std::cout << "Failed Unique Pointer Test 3" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Complex Copy Constructor Test" << std::endl;
    if (!tests.complexCopyConstructorTest())
    {
        std::cout << "Failed Complex Copy Constructor Test" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Assignment Operator Test 1" << std::endl;
    if (!tests.assignmentOperatorTest1())
    {
        std::cout << "Failed Assignment Operator Test 1" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Assignment Operator Test 2" << std::endl;
    if (!tests.assignmentOperatorTest2())
    {
        std::cout << "Failed Assignment Operator Test 2" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Assignment Operator Test 3" << std::endl;
    if (!tests.assignmentOperatorTest3())
    {
        std::cout << "Failed Assignment Operator Test 3" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "Reset Test 1" << std::endl;
    if (!tests.resetTest1())
    {
        std::cout << "Failed Reset Test 1" << std::endl;
        tests.updateFailCounter();
    }
    if (!tests.resetTest2())
    {
        std::cout << "Failed Reset Test 2" << std::endl;
        tests.updateFailCounter();
    }
    if (!tests.boolOperatorTest1())
    {
        std::cout << "Failed bool Operator Test 1" << std::endl;
        tests.updateFailCounter();
    }
    std::cout << "bool Operator Test 2" << std::endl;
    if (!tests.boolOperatorTest2())
    {
        std::cout << "Failed bool Operator Test 2" << std::endl;
        tests.updateFailCounter();
    }
    if (!tests.failedTests())
    {
        std::cout << "Well done on finishing the last coding exercise for INFO3220" << std::endl;
        return true;
    }
    return false;
}