class MAGES::SceneGraph::Tests::TestActionReferenceCatalog

Overview

Tests the enumeration and display rules behind the ActionReference picker. More…

class TestActionReferenceCatalog
{
public:
    // methods

    void TearDown();
    void GraphDataListsEveryNodeOnceBySelfRef();
    void GraphDataUsesSelfRefWhenDataIdIsEmpty();
    void GraphDataExcludesReroutes();
    void GraphDataExcludesTheOwningNode();
    void SceneGraphDataListsEveryActionOnceById();
    void SceneGraphDataExcludesTheOwningAction();
    void SceneGraphDataSortsByNameIgnoringCase();
    void ResolveDisplayReportsUnsetAsNone();
    void ResolveDisplayRefreshesTheNameOfAResolvedReference();
    void ResolveDisplayReportsAnIdMissingFromTheCatalog();
    void ResolveDisplayReportsAMissingCatalogAsUnavailable();
};

Detailed Documentation

Tests the enumeration and display rules behind the ActionReference picker.

Methods

void TearDown()

Destroys the graphs and actions built by a test.

void GraphDataListsEveryNodeOnceBySelfRef()

Every node of a version 2 graph is listed once, keyed by its self reference.

void GraphDataUsesSelfRefWhenDataIdIsEmpty()

A node authored in the version 2 editor has no Data.ID, so the entry must come from the node’s self reference. Reading Data.ID here would silently store an empty reference.

void GraphDataExcludesReroutes()

Reroutes are graph plumbing and are never offered as a target.

void GraphDataExcludesTheOwningNode()

The action that holds the condition is not offered to itself.

void SceneGraphDataListsEveryActionOnceById()

Every action reachable from the root of a version 1 graph is listed once, by its ID.

void SceneGraphDataExcludesTheOwningAction()

The action that holds the condition is not offered to itself.

void SceneGraphDataSortsByNameIgnoringCase()

Entries are sorted by name, ignoring case. An ordinal sort would have put Bravo first.

void ResolveDisplayReportsUnsetAsNone()

An unset reference reads as None and is not treated as a problem.

void ResolveDisplayRefreshesTheNameOfAResolvedReference()

A resolvable reference shows the action’s current name, not the name it was picked under.

void ResolveDisplayReportsAnIdMissingFromTheCatalog()

An ID that a real catalog does not contain is reported as missing, named where possible and identified by the head of the guid otherwise.

void ResolveDisplayReportsAMissingCatalogAsUnavailable()

Without a catalog nothing can be verified, so the cached name is shown as-is and the reference is never accused of being missing.