<div dir="ltr"><div>Hi everyone.<br></div>I'm trying to test scheduling with asyncio. I have a function that executes call_later to run a method later in the future. Basically, what I'm trying to do is what you do in Twisted with the method callLater of a fictional Clock, to simulate time passage with the advance method.<br><div><pre><span class=""><span class="">class</span> <span class="">ClientCalculationTestCase</span><span class="">(</span><span class="">unittest</span><span class="">.</span><span class="">TestCase</span><span class="">):</span>
    <span class="">def</span> <span class="">setUp</span><span class="">(</span><span class="">self</span><span class="">):</span>
        <span class="">self</span><span class="">.</span><span class="">tr</span> <span class="">=</span> <span class="">proto_helpers</span><span class="">.</span><span class="">StringTransportWithDisconnection</span><span class="">()</span>
        <span class="">self</span><span class="">.</span><span class="">clock</span> <span class="">=</span> <span class="">task</span><span class="">.</span><span class="">Clock</span><span class="">()</span>
        <span class="">self</span><span class="">.</span><span class="">proto</span> <span class="">=</span> <span class="">RemoteCalculationClient</span><span class="">()</span>
        <span class="">self</span><span class="">.</span><span class="">tr</span><span class="">.</span><span class="">protocol</span> <span class="">=</span> <span class="">self</span><span class="">.</span><span class="">proto</span>
        <span class="">self</span><span class="">.</span><span class="">proto</span><span class="">.</span><span class="">callLater</span> <span class="">=</span> <span class="">self</span><span class="">.</span><span class="">clock</span><span class="">.</span><span class="">callLater</span>
        <span class="">self</span><span class="">.</span><span class="">proto</span><span class="">.</span><span class="">makeConnection</span><span class="">(</span><span class="">self</span><span class="">.</span><span class="">tr</span><span class="">)</span><br><br>    def</span> <span class="">test_timeout</span><span class="">(</span><span class="">self</span><span class="">):</span>
    <span class="">    d</span> <span class="">=</span> <span class="">self</span><span class="">.</span><span class="">proto</span><span class="">.</span><span class="">add</span><span class="">(</span><span class="">9</span><span class="">,</span> <span class="">4</span><span class="">)</span>
        <span class="">self</span><span class="">.</span><span class="">assertEqual</span><span class="">(</span><span class="">self</span><span class="">.</span><span class="">tr</span><span class="">.</span><span class="">value</span><span class="">(),</span> <span class="">'add 9 4</span><span class="">\r\n</span><span class="">'</span><span class="">)</span>
    <span class="">    self</span><span class="">.</span><span class="">clock</span><span class="">.</span><span class="">advance</span><span class="">(</span><span class="">self</span><span class="">.</span><span class="">proto</span><span class="">.</span><span class="">timeOut</span><span class="">)</span>
    <span class="">    return</span> <span class="">self</span><span class="">.</span><span class="">assertFailure</span><span class="">(</span><span class="">d</span><span class="">,</span> <span class="">ClientTimeoutError</span><span class="">)</span></pre><br></div><div>Is there any way to do this with asyncio?. Thanks for any help provided.<br></div></div>