source: src/Patterns/unittests/CloneUnitTest.hpp@ 039e15

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

Added Clone pattern.

  • Clone is necessary for having prototypes, i.e. it defines an interface class that has a virtual * clone() const function that each derived type has to implement.
  • Added unit test.
  • made CommonStub a bit cleaner.
  • updated documentation fo Factory and FactoryTypeList
  • Library version is now 2:2:0, API is 1.0.4.
  • Property mode set to 100644
File size: 834 bytes
Line 
1/*
2 * CloneUnitTest.hpp
3 *
4 * Created on: Jan 03, 2011
5 * Author: heber
6 */
7
8#ifndef CLONEUNITTEST_HPP_
9#define CLONEUNITTEST_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include <cppunit/extensions/HelperMacros.h>
17
18#include "stubs/CommonStub.hpp"
19#include "stubs/CloneStub.hpp"
20
21
22class CloneTest : public CppUnit::TestFixture
23{
24 CPPUNIT_TEST_SUITE( CloneTest );
25 CPPUNIT_TEST ( CreationTest );
26 CPPUNIT_TEST ( IndividualityTest );
27 CPPUNIT_TEST_SUITE_END();
28
29public:
30 void setUp();
31 void tearDown();
32
33 void CreationTest();
34 void IndividualityTest();
35
36private:
37 Prototype<teststubs::Aclass> p1;
38 Prototype<teststubs::Bclass> p2;
39 IPrototype *ip1;
40 IPrototype *ip1_1;
41 IPrototype *ip1_2;
42 IPrototype *ip2;
43 IPrototype *ip2_1;
44 IPrototype *ip2_2;
45};
46
47#endif /* CLONEUNITTEST_HPP_ */
Note: See TracBrowser for help on using the repository browser.