xref: /haiku/src/tests/kits/app/bpropertyinfo/PropertyTestcase.h (revision 68ea01249e1e2088933cb12f9c28d4e5c5d1c9ef)
1 /*
2 	$Id: PropertyTestcase.h 1218 2002-09-28 00:19:49Z shatty $
3 
4 	This file defines a base class for performing all tests of BPropertyInfo
5 	functionality.
6 
7 	*/
8 
9 
10 #ifndef PropertyTestcase_H
11 #define PropertyTestcase_H
12 
13 
14 #include "../common.h"
15 #include <PropertyInfo.h>
16 
17 
18 class PropertyTestcase :
19 	public TestCase {
20 
21 private:
22 	property_info *DuplicateProperties(const property_info *prop1, int prop_count);
23 	value_info *DuplicateValues(const value_info *value1, int value_count);
24 
25 protected:
26 	virtual void TestProperty(BPropertyInfo *propTest,
27 	                          const property_info *prop_list,
28 	                          const value_info *value_list,
29 	                          int32 prop_count,
30 	                          int32 value_count,
31 	                          ssize_t flat_size,
32 	                          const char *lflat_data,
33 	                          const char *bflat_data) = 0;
34 
35 	static const char *uniquePropName;
36 	static const uint32 uniqueCommand;
37 	static const uint32 uniqueSpecifier;
38 	static const char *commonPropName;
39 	static const uint32 commonCommand;
40 	static const uint32 commonSpecifier;
41 	static const uint32 wildcardCommandTests[];
42 	static const uint32 wildcardSpecifierTests[];
43 
44 public:
45 	void PerformTest(void);
46 	PropertyTestcase(std::string name = "");
47 	virtual ~PropertyTestcase();
48 	};
49 
50 #endif
51