@@ -713,6 +713,45 @@ public async Task SendMessage_should_put_the_message_on_the_stream_and_raise_the
713713 }
714714 }
715715
716+ [ Fact ]
717+ public void IsExpired_should_return_false_when_maxIdleTime_has_no_limit( )
718+ {
719+ var subject = new BinaryConnection(
720+ serverId : _serverId ,
721+ endPoint : _endPoint ,
722+ settings : new ConnectionSettings ( maxIdleTime : TimeSpan . FromMilliseconds ( 0 ) ) ,
723+ streamFactory : _mockStreamFactory . Object ,
724+ connectionInitializer : _mockConnectionInitializer . Object ,
725+ eventSubscriber : _capturedEvents ,
726+ loggerFactory : LoggerFactory ,
727+ tracingOptions : null ,
728+ socketReadTimeout : TimeSpan . FromMilliseconds ( 1000 ) ,
729+ socketWriteTimeout : TimeSpan . FromMilliseconds ( 1000 ) ) ;
730+
731+ subject. Open ( OperationContext . NoTimeout ) ;
732+ subject. IsExpired . Should ( ) . BeFalse ( ) ;
733+ }
734+
735+ [ Fact ]
736+ public void IsExpired_should_return_true_when_maxIdleTime_is_exceeded( )
737+ {
738+ var subject = new BinaryConnection(
739+ serverId : _serverId ,
740+ endPoint : _endPoint ,
741+ settings : new ConnectionSettings ( maxIdleTime : TimeSpan . FromMilliseconds ( 10 ) ) ,
742+ streamFactory : _mockStreamFactory . Object ,
743+ connectionInitializer : _mockConnectionInitializer . Object ,
744+ eventSubscriber : _capturedEvents ,
745+ loggerFactory : LoggerFactory ,
746+ tracingOptions : null ,
747+ socketReadTimeout : TimeSpan . FromMilliseconds ( 1000 ) ,
748+ socketWriteTimeout : TimeSpan . FromMilliseconds ( 1000 ) ) ;
749+
750+ subject. Open ( OperationContext . NoTimeout ) ;
751+ Thread. Sleep ( 20 ) ;
752+ subject. IsExpired . Should ( ) . BeTrue ( ) ;
753+ }
754+
716755 private void SetupStreamRead( Mock < Stream > streamMock , TaskCompletionSource < int > tcs )
717756 {
718757 streamMock. Setup ( s => s . Read ( It . IsAny < byte [ ] > ( ) , It . IsAny < int > ( ) , It . IsAny < int > ( ) ) )
0 commit comments