LUMIERA.clone/tests/steam/mobject/session/rebuildfixturetest.cpp
Ichthyostega 3caa5cfb03 Tests: reorganise test folders
This resolves a long-standing issue:
we could not use proper include paths for test-helper code that was defined alongside the tests.

Since some test-helper code must now be relocated into the »Vault«-Layer,
I took the opportunity to finally resolve this annoyance. The solution is two-fold
 * introduce a dedicated test-support library
 * remove the quirks that were necessary to support some plain-C tests
Together, this allows to raise the include-directory by one level,
and then to adjust all folder names so that they match the namespace
2026-03-07 00:56:19 +01:00

82 lines
2.6 KiB
C++
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
RebuildFixture(Test) - (re)building the explicit placements
Copyright (C)
2008, Hermann Vosseler <Ichthyostega@web.de>
  **Lumiera** is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by the
  Free Software Foundation; either version 2 of the License, or (at your
  option) any later version. See the file COPYING for further details.
* *****************************************************************/
/** @file rebuildfixturetest.cpp
** unit test \ref RebuildFixture_test
*/
#include "test/run.hpp"
#include "steam/mobject/session.hpp"
#include "steam/mobject/session/testsession1.hpp"
//#include "lib/format-cout.hpp"
//#include "lib/util.hpp"
//using util::contains;
namespace steam {
namespace mobject {
namespace session {
namespace test {
/***************************************************************//**
* @test (re)building the ExplicitPlacement objects from the objects
* placed into the Session/Model.
* @see mobject::session::Fixture
* @see mobject::ExplicitPlacement
*/
class RebuildFixture_test : public Test
{
virtual void
run (Arg arg)
{
PSess sess = Session::current;
sess.clear();
buildTestsession1();
CHECK (sess->isValid());
sess->rebuildFixture();
#if false ////////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #548
TODO ("check the fixture has been touched. e.g. by hash.");
TODO ("query all Placements of all Clips (via AssetManager). Verify explicit plac contained in Fixture.");
UNIMPLEMENTED ("iterate over fixture");
// TODO
// for_each (sess->getFixture(),
// bind (&check_is_from_EDL, _1, sess.getEDL()));
TODO ("can we check the other direction, from EDL to Fixture??");
}
static void
check_is_from_EDL (PMO explicitPlacement, EDL& edl)
{
////TODO do we still support this? can it be replaced by a directly checking predicate on ExplicitPlacement??
// PMO originalPlacement = explicitPlacement->subject->getPlacement();
// CHECK (edl.contains(originalPlacement));
#endif ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #548
}
};
/** Register this test class... */
LAUNCHER (RebuildFixture_test, "unit session");
}}}} // namespace steam::mobject::session::test