@@ -94,7 +94,7 @@ def write_func(data):
9494
9595 write_func .data = None
9696
97- hdlc_c = HDLController (read_func , write_func , sending_timeout = 2 )
97+ hdlc_c = HDLController (read_func , write_func )
9898 hdlc_c .send ('test' )
9999 while write_func .data == None : pass
100100 self .assertEqual (write_func .data , frame_data ('test' , FRAME_DATA , 0 ))
@@ -105,6 +105,46 @@ def write_func(data):
105105 self .assertEqual (hdlc_c .get_senders_number (), 1 )
106106 hdlc_c .stop ()
107107
108+ def test_send_three_frames_and_wait_timeout (self ):
109+ def read_func ():
110+ pass
111+
112+ def write_func (data ):
113+ write_func .data = data
114+
115+ write_func .data = None
116+
117+ hdlc_c = HDLController (read_func , write_func , sending_timeout = 5 )
118+ hdlc_c .send ('test1' )
119+ while write_func .data == None : pass
120+ self .assertEqual (write_func .data , frame_data ('test1' , FRAME_DATA , 0 ))
121+ self .assertEqual (hdlc_c .get_senders_number (), 1 )
122+ write_func .data = None
123+ sleep (1 )
124+ hdlc_c .send ('test2' )
125+ while write_func .data == None : pass
126+ self .assertEqual (write_func .data , frame_data ('test2' , FRAME_DATA , 1 ))
127+ self .assertEqual (hdlc_c .get_senders_number (), 2 )
128+ write_func .data = None
129+ sleep (1 )
130+ hdlc_c .send ('test3' )
131+ while write_func .data == None : pass
132+ self .assertEqual (write_func .data , frame_data ('test3' , FRAME_DATA , 2 ))
133+ self .assertEqual (hdlc_c .get_senders_number (), 3 )
134+ write_func .data = None
135+ while write_func .data == None : pass
136+ self .assertEqual (write_func .data , frame_data ('test1' , FRAME_DATA , 0 ))
137+ self .assertEqual (hdlc_c .get_senders_number (), 3 )
138+ write_func .data = None
139+ while write_func .data == None : pass
140+ self .assertEqual (write_func .data , frame_data ('test2' , FRAME_DATA , 1 ))
141+ self .assertEqual (hdlc_c .get_senders_number (), 3 )
142+ write_func .data = None
143+ while write_func .data == None : pass
144+ self .assertEqual (write_func .data , frame_data ('test3' , FRAME_DATA , 2 ))
145+ self .assertEqual (hdlc_c .get_senders_number (), 3 )
146+ hdlc_c .stop ()
147+
108148 def test_send_frame_and_receive_ack (self ):
109149 def read_func ():
110150 return frame_data ('' , FRAME_ACK , 1 )
0 commit comments