ct_common
1.0.1
Common library for combinatorial testing
|
00001 //===----- ct_common/common/test_case.h -------------------------*- C++ -*-===// 00002 // 00003 // The ct_common Library 00004 // 00005 // This file is distributed under the MIT license. See LICENSE for details. 00006 // 00007 //===----------------------------------------------------------------------===// 00008 // 00009 // This header file contains the class for test cases 00010 // 00011 //===----------------------------------------------------------------------===// 00012 00013 #ifndef CT_COMMON_TEST_CASE_H_ 00014 #define CT_COMMON_TEST_CASE_H_ 00015 00016 #include <vector> 00017 #include <boost/shared_ptr.hpp> 00018 #include <ct_common/common/utils.h> 00019 #include <ct_common/common/assignment.h> 00020 00021 namespace ct { 00022 namespace common { 00023 class ParamSpec; 00024 00028 class DLL_EXPORT TestCase : public Assignment, private std::vector<size_t> 00029 { 00030 public: 00031 TestCase(void); 00032 TestCase(const TestCase &from); 00033 TestCase &operator =(const TestCase &right); 00034 virtual ~TestCase(void); 00035 00036 virtual bool IsContainParam(std::size_t pid) const; 00037 virtual std::size_t GetValue(std::size_t pid) const; 00038 virtual bool IsSubAssignmentOf(const Assignment &assignment) const; 00039 00040 using std::vector<size_t>::assign; 00041 using std::vector<size_t>::push_back; 00042 using std::vector<size_t>::pop_back; 00043 using std::vector<size_t>::resize; 00044 using std::vector<size_t>::size; 00045 using std::vector<size_t>::empty; 00046 using std::vector<size_t>::operator []; 00047 }; 00048 } // namespace common 00049 } // namespace ct 00050 00051 #endif // CT_COMMON_TEST_CASE_H_