source: src/Patterns/unittests/ManipulablePrototypeFactoryUnitTest.hpp@ 2f40706

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

New patterns ManipulableClone and ManipulablePrototypeFactory, changed PrototypeFactory.

  • ManipulableClone is a Clone that can spawn a manipulated copy varied by given parameters.
  • prototypes in PrototypeFactory cannot be manipulated anymore.
  • PrototypeFactory::getPrototypeManipulator() -> getPrototype() and returned reference is const (and a ref, no pointer. Preventing its accidental deletion).
  • ManipulablePrototypeFactory then has non-const references returned by getProduct().
  • ManipulablePrototypeFactory::manipulatePrototype() allows direct manipulation of the prototype by a given parameter set.
  • Added unit tests for the new patterns.
  • Changed unit tests for PrototypeFactory.
  • Library version is now 4:0:0, API version is 1.0.7.
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 * ManipulablePrototypeFactoryUnitTest.hpp
3 *
4 * Created on: Jan 03, 2011
5 * Author: heber
6 */
7
8#ifndef MANIPULABLEPROTOTYPEFACTORYUNITTEST_HPP_
9#define MANIPULABLEPROTOTYPEFACTORYUNITTEST_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
18class IManipulablePrototype;
19
20class ManipulablePrototypeFactoryTest : public CppUnit::TestFixture
21{
22 CPPUNIT_TEST_SUITE( ManipulablePrototypeFactoryTest );
23 CPPUNIT_TEST ( DistributionTest );
24 CPPUNIT_TEST ( getProductEnumTest );
25 CPPUNIT_TEST ( getProductNameTest );
26 CPPUNIT_TEST ( getProductTypeTest );
27 CPPUNIT_TEST ( Individualitytest );
28 CPPUNIT_TEST ( getPrototypetest );
29 CPPUNIT_TEST ( manipulatePrototypetest );
30 CPPUNIT_TEST_SUITE_END();
31
32public:
33 void setUp();
34 void tearDown();
35
36 void DistributionTest();
37 void getProductEnumTest();
38 void getProductNameTest();
39 void getProductTypeTest();
40 void Individualitytest();
41 void getPrototypetest();
42 void manipulatePrototypetest();
43
44private:
45 IManipulablePrototype* rndA;
46 IManipulablePrototype* rndA_1;
47 IManipulablePrototype* rndA_2;
48 IManipulablePrototype* rndA_3;
49 IManipulablePrototype* rndB;
50};
51
52#endif /* MANIPULABLEPROTOTYPEFACTORYUNITTEST_HPP_ */
Note: See TracBrowser for help on using the repository browser.