source: src/Patterns/unittests/PrototypeFactoryUnitTest.hpp@ d76c105

Last change on this file since d76c105 was d76c105, checked in by Frederik Heber <heber@…>, 15 years ago

Added Prototype Factory pattern.

  • the Prototype Factory basically stores Clone instead of Creator patterns in its lookup tables to produce.
  • Clone has not protected cstor/dstor but is friend with CloneTest and PrototypeFactoryStub to grant them access.
  • also these prototypes may be manipulated by befriended classes.
  • added unit test and stub.
  • Library version is now 3:0:0, API version is 1.0.5.
  • Property mode set to 100644
File size: 1.0 KB
Line 
1/*
2 * PrototypeFactoryUnitTest.hpp
3 *
4 * Created on: Jan 03, 2011
5 * Author: heber
6 */
7
8#ifndef PROTOTYPEFACTORYUNITTEST_HPP_
9#define PROTOTYPEFACTORYUNITTEST_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include "stubs/CloneStub.hpp"
17
18#include <cppunit/extensions/HelperMacros.h>
19
20class PrototypeFactoryTest : public CppUnit::TestFixture
21{
22 CPPUNIT_TEST_SUITE( PrototypeFactoryTest );
23 CPPUNIT_TEST ( DistributionTest );
24 CPPUNIT_TEST ( getProductEnumTest );
25 CPPUNIT_TEST ( getProductNameTest );
26 CPPUNIT_TEST ( getProductTypeTest );
27 CPPUNIT_TEST ( Individualitytest );
28 CPPUNIT_TEST ( PrototypeManipulatortest );
29 CPPUNIT_TEST_SUITE_END();
30
31public:
32 void setUp();
33 void tearDown();
34
35 void DistributionTest();
36 void getProductEnumTest();
37 void getProductNameTest();
38 void getProductTypeTest();
39 void Individualitytest();
40 void PrototypeManipulatortest();
41
42private:
43 IPrototype* rndA;
44 IPrototype* rndA_1;
45 IPrototype* rndA_2;
46 IPrototype* rndA_3;
47 IPrototype* rndB;
48};
49
50#endif /* PROTOTYPEFACTORYUNITTEST_HPP_ */
Note: See TracBrowser for help on using the repository browser.