29 void cleanupTestCase();
32 void testBridgeCreation();
33 void testAttachModelToBridge();
34 void testDetachModelFromBridge();
35 void testEnsureModelsDetached();
36 void testGetModelCount();
37 void testGetObservedModel();
40 void testDelegatedUpdateFlag();
41 void testSourceUpdateFlag();
42 void testMultipleModelsUpdate();
45 void testBridgeWithNullChangeable();
46 void testMultipleAttachDetachCycles();
50 class TestDataModel:
public iser::CSerializableBase
55 CF_DATA_CHANGED = 0x1,
56 CF_STATUS_CHANGED = 0x2
59 TestDataModel() : m_data(0), m_status(0) {}
61 void SetData(
int data)
66 changeSet.Set(CF_DATA_CHANGED);
67 BeginChanges(changeSet);
69 EndChanges(changeSet);
73 int GetData()
const {
return m_data; }
75 void SetStatus(
int status)
77 if (m_status != status)
80 changeSet.Set(CF_STATUS_CHANGED);
81 BeginChanges(changeSet);
83 EndChanges(changeSet);
87 int GetStatus()
const {
return m_status; }
90 virtual int GetSupportedOperations()
const override
98 TestDataModel* clone =
new TestDataModel();
99 clone->m_data = m_data;
100 clone->m_status = m_status;
107 const TestDataModel* other =
dynamic_cast<const TestDataModel*
>(&object);
110 m_data = other->m_data;
111 m_status = other->m_status;
126 archive.SerializeValue(
"data", m_data);
127 archive.SerializeValue(
"status", m_status);
137 class TargetChangeable:
public iser::CSerializableBase
140 TargetChangeable() : m_changeCount(0) {}
142 int GetChangeCount()
const {
return m_changeCount; }
148 m_lastChangeSet.Clear();
154 CSerializableBase::BeginChanges(changeSet);
156 m_lastChangeSet = changeSet;
160 virtual int GetSupportedOperations()
const override
194 TargetChangeable* m_targetChangeable;