MCPcopy Create free account
hub / github.com/KDAB/GammaRay / testSync

Method testSync

tests/propertysyncertest.cpp:89–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87
88private slots:
89 void testSync()
90 {
91 // server setup
92 MyObject serverObj;
93 serverObj.setIntProp(14);
94 m_server = new PropertySyncer(this);
95 connect(m_server, &PropertySyncer::message, this,
96 &PropertySyncerTest::server2client);
97 m_server->setAddress(1);
98 m_server->addObject(42, &serverObj);
99
100 // client setup
101 auto *clientObj = new MyObject(this);
102 m_client = new PropertySyncer(this);
103 m_client->setRequestInitialSync(true);
104 connect(m_client, &PropertySyncer::message, this,
105 &PropertySyncerTest::client2server);
106 m_client->setAddress(1);
107 m_client->addObject(42, clientObj);
108 m_server->setObjectEnabled(42, true);
109 QCOMPARE(clientObj->intProp(), 0);
110 QCOMPARE(m_client2ServerCount, 0);
111 QCOMPARE(m_server2ClientCount, 0);
112
113 // initial sync request
114 m_client->setObjectEnabled(42, true);
115 QCOMPARE(m_client2ServerCount, 1);
116 QCOMPARE(m_server2ClientCount, 1);
117 QCOMPARE(clientObj->intProp(), 14);
118
119 // regular sync on changes on one side
120 serverObj.setIntProp(42);
121 QCOMPARE(m_server2ClientCount, 2);
122 QCOMPARE(clientObj->intProp(), 42);
123
124 QCOMPARE(m_client2ServerCount, 1);
125 clientObj->setIntProp(23);
126 QCOMPARE(serverObj.intProp(), 23);
127 QCOMPARE(m_client2ServerCount, 2);
128 QCOMPARE(m_server2ClientCount, 2);
129
130 // client destroyed
131 m_server->setObjectEnabled(42, false);
132 delete clientObj;
133 serverObj.setIntProp(26);
134 QCOMPARE(m_server2ClientCount, 2);
135 }
136
137private:
138 int m_server2ClientCount = 0, m_client2ServerCount = 0;

Callers

nothing calls this directly

Calls 6

setAddressMethod · 0.80
setRequestInitialSyncMethod · 0.80
setObjectEnabledMethod · 0.80
setIntPropMethod · 0.45
addObjectMethod · 0.45
intPropMethod · 0.45

Tested by

no test coverage detected