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

Last change on this file since 039e15 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.1 KB
Line 
1/*
2 * ManipulableCloneUnitTest.hpp
3 *
4 * Created on: Jan 06, 2011
5 * Author: heber
6 */
7
8#ifndef MANIPULABLECLONEUNITTEST_HPP_
9#define MANIPULABLECLONEUNITTEST_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/ManipulableCloneStub.hpp"
20#include "stubs/CommonParametersStub.hpp"
21
22
23class ManipulableCloneTest : public CppUnit::TestFixture
24{
25 CPPUNIT_TEST_SUITE( ManipulableCloneTest );
26 CPPUNIT_TEST ( CreationTest );
27 CPPUNIT_TEST ( IndividualityTest );
28 CPPUNIT_TEST ( ManipulationTest );
29 CPPUNIT_TEST_SUITE_END();
30
31public:
32 void setUp();
33 void tearDown();
34
35 void CreationTest();
36 void IndividualityTest();
37 void ManipulationTest();
38
39private:
40 ManipulablePrototype<teststubs::Aclass> p1;
41 ManipulablePrototype<teststubs::Bclass> p2;
42 IManipulablePrototype *ip1;
43 IManipulablePrototype *ip1_1;
44 IManipulablePrototype *ip1_2;
45 IManipulablePrototype *ip2;
46 IManipulablePrototype *ip2_1;
47 IManipulablePrototype *ip2_2;
48};
49
50#endif /* MANIPULABLECLONEUNITTEST_HPP_ */
Note: See TracBrowser for help on using the repository browser.