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

Last change on this file since e93bfe 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.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 ( getPrototypetest );
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 getPrototypetest();
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.