40 using namespace mobject::test;
41 using lumiera::error::LUMIERA_ERROR_ASSERTION;
44 ::Local<vault::test::MediaAccessMock>;
97 cout << showSizeof(pSub1) << endl;
98 cout << showSizeof(pSub2) << endl;
99 cout << showSizeof(pSub3) << endl;
100 cout << showSizeof(pSubM) << endl;
101 cout << showSizeof(pClip) << endl;
103 CHECK (
sizeof(pSub1) ==
sizeof(pSub3));
104 CHECK (
sizeof(pClip) ==
sizeof(pSub3));
106 cout << pSub1 << endl;
107 cout << pSub2 << endl;
108 cout << pSub3 << endl;
109 cout << pSubM << endl;
110 cout << pClip << endl;
114 CHECK (2 == pSubM.use_count());
115 CHECK (2 == pSub3.use_count());
117 CHECK (3 == pSubM.use_count());
118 CHECK (3 == pSub3.use_count());
119 CHECK (3 == pClip.use_count());
124 PSub21& hijacked =
reinterpret_cast<PSub21&
> (pClip);
126 hijacked->specialAPI();
127 CHECK (3 == hijacked.use_count());
128 CHECK (hijacked.getID() == pClip.getID());
137 CHECK (2 == pSubM.use_count());
138 CHECK (2 == pSub3.use_count());
140 CHECK (2 == pClip.use_count());
141 CHECK (2 == pSub1.use_count());
150 CHECK ( pSub2.isCompatible<
MObject>());
151 CHECK ( pSub2.isCompatible<
DummyMO>());
155 CHECK (!pSub2.isCompatible<
Clip>());
This framework allows to (re)configure the lib::Depend front-end for dependency-injection.
MObject is the interface class for all "Media Objects".
A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
A user visible/editable Clip is a reference to a contiguous sequence of media data loaded as Asset in...
Test MObject subclass, which, contrary to any real MObject, can be created directly without involving...
Per type specific configuration of instances created as service dependencies.
Lumiera error handling (C++ interface).
MObject in the Session to represent a clip on the timeline.
string showSizeof(size_t siz, string name)
for printing sizeof().
Namespace of Session and user visible high-level objects.
TestPlacement< DummyMO > PDummy
lib::DependInject< vault::MediaAccessFacade > ::Local< vault::test::MediaAccessMock > MediaAccessMock
string format_PlacementID(Placement< MObject > const &pla)
Steam-Layer implementation namespace root.
Test runner and basic definitions for tests.
Core abstraction: placement of a media object into session context.
Simplistic test class runner.
#define LAUNCHER(_TEST_CLASS_, _GROUPS_)
Subclass-1 is not defined "processible", thus will always be handled as DummyMO...
Subclass-2 is defined "processible", but we omit the necessary "applicable" definition in TestTool,...
A hierarchy of simple dummy-Media-Objects for easy unit testing.
A collection of frequently used helper functions to support unit testing.
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT)
Macro to verify that a statement indeed raises an exception.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
#define INSTANCEOF(CLASS, EXPR)
shortcut for subclass test, intended for assertions only.