⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtime.cpp

📁 Software Testing Automation Framework (STAF)的开发代码
💻 CPP
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF)                              *//* (C) Copyright IBM Corp. 2001                                              *//*                                                                           *//* This software is licensed under the Common Public License (CPL) V1.0.     *//*****************************************************************************/#include "STAF.h"#include "STAF_iostream.h"#include "STAFTimestamp.h"int main(void){    STAFRelativeTime begin;    char *data[] =    {        "20001031-09:27:16",        "10/31/00-09:27:16",        "10/31/2000-09:27:16",        "20001031-09:27",        "20001031-09",        "20001031-",        "20001031",        "-09:27:16",        "-09:27",        "-09",        "-",        "",        "10:11:12",        "20000229",     // Begin errors        "20001131",        "19990229",        "20010229",        "06/29/69",     // Non-obvious, 69 == 2069 which is > sizeof(time_t)        "-24:00:00",        "-10:70:00",        "-10:20:70",        "-1:00:00",     // Must be 01:xx:yy        "-10:1:00",        "-10:01:1"    };    cout << "BEGIN STRING TESTS" << endl;    int i = 0;    for (i = 0; i < (sizeof(data) / sizeof(char *)); ++i)    {        try        {            cout << endl << "Test     : " << data[i] << endl;            if (STAFTimestamp::isValidTimestampString(data[i]))                cout << "Valid    : Yes" << endl;            else                cout << "Valid    : No" << endl;            STAFTimestamp aTime(data[i]);            cout << "Formatted: " << aTime.asString() << endl;        }        catch (STAFException &se)        {            cout << "Caught exception: " << se.getName() << endl;        }        catch (...)        { cout << "Caught unknown exception in main()" << endl; }    }    unsigned int data2[][6] =    {        { 2000, 10, 31, 9 , 27, 16 },        { 99  , 10, 31, 9 , 27, 16 },        { 02  , 10, 31, 9 , 27, 16 },        { 102 , 10, 31, 9 , 27, 16 },        { 1999, 2 , 29, 9 , 27, 16 },     // Begin errors        { 2000, 2 , 29, 9 , 27, 16 },        { 2001, 2 , 29, 9 , 27, 16 },        { 69  , 6 , 29, 9 , 27, 16 },     // Again non-obvious        { 2000, 10, 31, 24, 27, 16 },        { 2000, 10, 31, 9 , 60, 16 },        { 2000, 10, 31, 9 , 27, 60 },    };    cout << endl << "BEGIN NUMERIC TESTS" << endl;    for (i = 0; i < (sizeof(data2) / sizeof(unsigned int [6])); ++i)    {        try        {            cout << endl << "Test     : "                 << data2[i][0] << ", " << data2[i][1] << ", "                 << data2[i][2] << ", " << data2[i][3] << ", "                 << data2[i][4] << ", " << data2[i][5] << endl;            if (STAFTimestamp::isValidTimestampData(data2[i][0], data2[i][1],                                                    data2[i][2], data2[i][3],                                                    data2[i][4], data2[i][5]))            {                cout << "Valid    : Yes" << endl;            }            else            {                cout << "Valid    : No" << endl;            }            STAFTimestamp aTime(data2[i][0], data2[i][1], data2[i][2],                                data2[i][3], data2[i][4], data2[i][5]);            cout << "Formatted: " << aTime.asString() << endl;        }        catch (STAFException &se)        {            cout << "Caught exception: " << se.getName() << endl;        }        catch (...)        { cout << "Caught unknown exception in main()" << endl; }    }    char *data3[] =     {        "20000101-00:00:00",        "19991231-23:59:59"    };    cout << endl << "BEGIN ACCESSOR TESTS" << endl;    for (i = 0; i < (sizeof(data3) / sizeof(char *)); ++i)    {        try        {            cout << endl << "Test     : " << data3[i] << endl;            STAFTimestamp aTime(data3[i]);            cout << "Year  : " << aTime.getYear() << endl;            cout << "Month : " << aTime.getMonth() << endl;            cout << "Day   : " << aTime.getDay() << endl;            cout << "Hour  : " << aTime.getHour() << endl;            cout << "Minute: " << aTime.getMinute() << endl;            cout << "Second: " << aTime.getSecond() << endl;        }        catch (STAFException &se)        {            cout << "Caught exception: " << se.getName() << endl;        }        catch (...)        { cout << "Caught unknown exception in main()" << endl; }    }    char *data4[][2] =     {        { "20001108"         , "20001109"          },        { "20001108-10:11:12", "20001108-10:11:01" },        { "10:11:12"         , "10:11:01"          },        { "20001108-10:11:12", "20001108-10:11:12" },        { "19991231-23:59:59", "20000101-00:00:00" }    };    cout << endl << "BEGIN RELATIONAL TESTS" << endl;    for (i = 0; i < (sizeof(data4) / sizeof(char *[2])); ++i)    {        try        {            cout << endl << data4[i][0] << " == " << data4[i][1] << " : ";            if (STAFTimestamp(data4[i][0]) == STAFTimestamp(data4[i][1]))                cout << "Yes" << endl;            else                cout << "No" << endl;            cout << data4[i][0] << " != " << data4[i][1] << " : ";            if (STAFTimestamp(data4[i][0]) != STAFTimestamp(data4[i][1]))                cout << "Yes" << endl;            else                cout << "No" << endl;            cout << data4[i][0] << " <  " << data4[i][1] << " : ";            if (STAFTimestamp(data4[i][0]) < STAFTimestamp(data4[i][1]))                cout << "Yes" << endl;            else                cout << "No" << endl;            cout << data4[i][0] << " <= " << data4[i][1] << " : ";            if (STAFTimestamp(data4[i][0]) <= STAFTimestamp(data4[i][1]))                cout << "Yes" << endl;            else                cout << "No" << endl;            cout << data4[i][0] << " >  " << data4[i][1] << " : ";            if (STAFTimestamp(data4[i][0]) > STAFTimestamp(data4[i][1]))                cout << "Yes" << endl;            else                cout << "No" << endl;            cout << data4[i][0] << " >= " << data4[i][1] << " : ";            if (STAFTimestamp(data4[i][0]) >= STAFTimestamp(data4[i][1]))                cout << "Yes" << endl;            else                cout << "No" << endl;        }        catch (STAFException &se)        {            cout << "Caught exception: " << se.getName() << endl;        }        catch (...)        { cout << "Caught unknown exception in main()" << endl; }    }    STAFRelativeTime end;    cout << endl << "Runtime: " << ((end - begin) / 1000) << "."         << setw(3) << setfill('0') << ((end - begin) % 1000)         << " seconds" << endl;    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -