(self, count=1, tag="tag%i", type=None, value=None)
| 2320 | self.cleanup() |
| 2321 | |
| 2322 | def _testDisposition(self, count=1, tag="tag%i", type=None, value=None): |
| 2323 | assert type is not None |
| 2324 | if value is None: |
| 2325 | value = NoValue() |
| 2326 | |
| 2327 | snd, rcv = self.link("test-link") |
| 2328 | snd.open() |
| 2329 | rcv.open() |
| 2330 | |
| 2331 | snd_deliveries = [] |
| 2332 | for i in range(count): |
| 2333 | d = snd.delivery(tag % i) |
| 2334 | snd_deliveries.append(d) |
| 2335 | snd.advance() |
| 2336 | |
| 2337 | rcv.flow(count) |
| 2338 | self.pump() |
| 2339 | |
| 2340 | rcv_deliveries = [] |
| 2341 | for i in range(count): |
| 2342 | d = rcv.current |
| 2343 | assert d.tag == (tag % i) |
| 2344 | rcv_deliveries.append(d) |
| 2345 | rcv.advance() |
| 2346 | |
| 2347 | for d in rcv_deliveries: |
| 2348 | value.apply(d.local) |
| 2349 | d.update(type) |
| 2350 | |
| 2351 | self.pump() |
| 2352 | |
| 2353 | for d in snd_deliveries: |
| 2354 | assert d.remote_state == type |
| 2355 | assert d.remote.type == type |
| 2356 | value.check(d.remote) |
| 2357 | value.apply(d.local) |
| 2358 | d.update(type) |
| 2359 | |
| 2360 | self.pump() |
| 2361 | |
| 2362 | for d in rcv_deliveries: |
| 2363 | assert d.remote_state == type |
| 2364 | assert d.remote.type == type |
| 2365 | value.check(d.remote) |
| 2366 | |
| 2367 | for d in snd_deliveries: |
| 2368 | d.settle() |
| 2369 | |
| 2370 | self.pump() |
| 2371 | |
| 2372 | for d in rcv_deliveries: |
| 2373 | assert d.settled, d.settled |
| 2374 | d.settle() |
| 2375 | |
| 2376 | def testAccepted(self): |
| 2377 | self._testDisposition(type=Disposition.ACCEPTED) |
no test coverage detected