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

📄 testrunnerdlg.h

📁 著名的uncle Bob的Agile software development的代码
💻 H
字号:
#if !defined(AFX_TESTRUNNERDLG_H)
#define AFX_TESTRUNNERDLG_H

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// TestRunnerDlg.h : header file
//

#include <vector>


#ifndef CPPUNIT_ACTIVETEST_H
#include "ActiveTest.h"
#endif

#include "Resource.h"


class ProgressBar;
class CppUnitException;


/////////////////////////////////////////////////////////////////////////////
// TestRunnerDlg dialog

class AFX_CLASS_EXPORT TestRunnerDlg : public CDialog
{
// Construction
public:
                    TestRunnerDlg       (CWnd* pParent = NULL);
                    ~TestRunnerDlg      ();

    void            setTests            (std::vector<Test *> *test);

    void            addError            (TestResult *result, Test *test, CppUnitException *e);
    void            addFailure          (TestResult *result, Test *test, CppUnitException *e);
    void            endTest             (TestResult *result, Test *test);

// Dialog Data
    //{{AFX_DATA(TestRunnerDlg)
    enum { IDD = IDD_DIALOG_TESTRUNNER };
        // NOTE: the ClassWizard will add data members here
    //}}AFX_DATA


// Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(TestRunnerDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL

// Implementation
protected:

    // Generated message map functions
    //{{AFX_MSG(TestRunnerDlg)
    virtual BOOL OnInitDialog();
    afx_msg void OnRun();
    afx_msg void OnStop();
    virtual void OnOK();
    afx_msg void OnSelchangeComboTest();
    afx_msg void OnPaint();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()

    ProgressBar     *m_testsProgress;
    std::vector<Test *>  *m_tests;
    Test            *m_selectedTest;
    ActiveTest      *m_activeTest;
    TestResult      *m_result;
    int             m_testsRun;
    int             m_errors;
    int             m_failures;
    DWORD           m_testStartTime;
    DWORD           m_testEndTime;

    void            addListEntry        (std::string type, TestResult *result, Test *test, CppUnitException *e);
    void            beIdle              ();
    void            beRunning           ();
    void            beRunDisabled       ();
    void            reset               ();
    void            freeState           ();
    void            updateCountsDisplay ();

};


inline void TestRunnerDlg::setTests (std::vector<Test *> *tests)
{ m_tests = tests; }




/////////////////////////////////////////////////////////////////////////////
// A Wrapper


class AFX_CLASS_EXPORT TestRunner 
{
    std::vector<Test *>  m_tests;

public:
                    TestRunner () {}
                    ~TestRunner () 
                    {
                        for (std::vector<Test *>::iterator it = m_tests.begin (); it != m_tests.end (); ++it)
                            delete *it;
                    }

    void            run () 
                    { 
                        TestRunnerDlg dlg; 

                        dlg.setTests (&m_tests);
                        dlg.DoModal (); 
                    }

    void            addTest (Test *test) 
                    { m_tests.push_back (test); }


};

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TESTRUNNERDLG_H)

⌨️ 快捷键说明

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