void TestTaskManager::sleep_cancel()
{
    // Set up the manager.
    TaskManager *manager = new TaskManager();
    QSignalSpy   sig_message(manager, SIGNAL(message(QString, QString)));

    // Set up a task.
    TarsnapTask *task = new TarsnapTask();
    QSignalSpy   sig_started(task, SIGNAL(started(QVariant)));
    task->setCommand("/bin/sh");
    task->setArguments(QStringList(get_script("sleep-9-exit-0.sh")));
    task->setData(QString("started-9"));

    // Start running it, wait a second.
    manager->startTask(task);
    QTest::qWait(1000);
    QVERIFY(sig_started.count() == 1);
    QVERIFY(sig_started.takeFirst().at(0).value<QString>() == "started-9");
    QVERIFY(sig_message.count() == 0);

    // Cancel it
    manager->stopTasks(false, true, false);
    QVERIFY(sig_message.count() == 1);
    QVERIFY(sig_message.takeFirst().at(0).value<QString>()
            == "Stopped running tasks.");

    QTest::qWait(1000);

    // task is deleted by the task manager
    delete manager;
}
int main()
{
    int turn=CONTINUE;

    while(turn!=EXIT)
    {
        ioHandler io;
        int typeSelect;

        typeSelect =io.selectType();	//자료형 선택

        if( typeSelect<INT || STRING<typeSelect)
            break;

        if(typeSelect == INT)
        {
            TaskManager<int> tsk;
            turn = tsk.startTask();
        }
        else if(typeSelect == DOUBLE)
        {
            TaskManager<double> tsk;
            turn = tsk.startTask();
        }
        else if(typeSelect == RECTANGLE)
        {
            TaskManager<Rectangle> tsk;
            turn = tsk.startTask();
        }
        else if(typeSelect == STRING)
        {
            TaskManager<string> tsk;
            turn = tsk.startTask();
        }
        else
            turn =EXIT;

    }//End of while loop
    return 0;
}