Click here to Skip to main content
15,894,896 members
Articles / Mobile Apps

Unit Testing Framework for eVC++ Applications

Rate me:
Please Sign up or sign in to vote.
4.63/5 (13 votes)
17 Oct 2004CPOL6 min read 85.4K   246   28  
A unit testing framework for eVC++ applications, and its usage.
/******************************************************************************
 * File Name:		WCEUnitDialog.h
 * Description:		Thi file contains the definiton of CWCEUnitDialog class.
 * Date:			14/8/2004
 * Author:			AbdulMunaf Chhatra
 * E-Mail:			a.chhatra@popnet.co.in
 *
 * Warning:
 * This code is provided as is without any guarantee or warranty, implicit or 
 * explicit. If this code damages your system then the author is not 
 * responsible for it. This code is free to use with the permission of author. 
 * If you want to use this code then please send me an email at 
 * a.chhatra@popnet.co.in for permission, I will gladly give the permission. 
 * If you make any changes in this code, then feel free to add your name here, 
 * but this notice should appear in this code.
 ******************************************************************************
 * ------------------------------
 * Version History
 * ------------------------------
 * Version	:  1.0
 * Author	:  AbdulMunaf Chhatra
 * Date    	:  14/8/2004
 * Comment 	:  Initial release
 * ------------------------------
 *****************************************************************************/
 
#if !defined(AFX_WCEUNITDIALOG_H__C5100A52_66CA_41F3_A009_CCA3CE4C1766__INCLUDED_)
#define AFX_WCEUNITDIALOG_H__C5100A52_66CA_41F3_A009_CCA3CE4C1766__INCLUDED_

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

#include "resource.h"
#include "TestSuite.h"

/////////////////////////////////////////////////////////////////////////////
// CWCEUnitDialog dialog
class CTestRunner;

/******************************************************************************
 * This is main dialog class for testing frame work.
 *****************************************************************************/
class CWCEUnitDialog : public CDialog
{
// Construction
public:
	void SetMaxProgressRange(int nMaxRange);
	void AddTestResult(TEST_RESULT& trCurTest);
	void SetTestRunnerPointer(CTestRunner* pTestRunner);
	void SetTestSuiteList(CTestSuite *a_TestSuite);
	CWCEUnitDialog(CWnd* pParent = NULL);   // standard constructor
    
// Dialog Data
	//{{AFX_DATA(CWCEUnitDialog)
	enum { IDD = IDD_WCEUNIT_DIALOG };
	CProgressCtrl	m_prgsTestProgress;
	CListCtrl	m_lstResultList;
	BOOL	m_chkMakeLog;
	BOOL	m_chkRunInitOnce;
	//}}AFX_DATA

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

private:
	BOOL PopulateFailList();
	void MakeResultLog();
	CString FormatLogMessage(TEST_RESULT& tr);

    TTestSuiteList  m_TestSuiteList;
    int             m_nTestSuiteIdx;
    int             m_nTestCaseIdx;
    int             m_nCurProgressPos;
    CList<TEST_RESULT, TEST_RESULT&> m_trList;
    
    CTestRunner*            m_pTestRunnerInstance;
    CFile           m_flLogFile;
// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CWCEUnitDialog)
	virtual BOOL OnInitDialog();
	afx_msg void OnMainRunTest();
	afx_msg void OnMainSelectTest();
	afx_msg void OnClickMainFailList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnDestroy();
	afx_msg void OnMainRunInitOnce();
	afx_msg void OnMainMakeLog();
	afx_msg void OnCmdAbout();
	//}}AFX_MSG


	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_WCEUNITDIALOG_H__C5100A52_66CA_41F3_A009_CCA3CE4C1766__INCLUDED_)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
India India
A person who like to know about new things, peolple and make frineds. I strarted programming in 2000 with fortran but my first love in programming is C++. Also programmed in VB, MFC and for Windows CE.

Graduated in Physics and done masteres in Computer application. Physics and astronomy are my area of intrest. Karate is also one of my hobbies, BTW I am a Black Belt in Karate.

Comments and Discussions