1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-13 09:23:04 +00:00

Test fixes

This commit is contained in:
JKorf
2018-12-04 16:06:44 +01:00
parent f215f3c53f
commit f09a731cde
4 changed files with 67 additions and 11 deletions
@@ -164,6 +164,7 @@ namespace CryptoExchange.Net.UnitTests
{
reconnected = true;
rstEvent.Set();
return true;
};
// act
@@ -229,5 +230,34 @@ namespace CryptoExchange.Net.UnitTests
// assert
Assert.IsFalse(connectResult.Success);
}
[Test]
public void WhenResubscribeFails_Socket_ShouldReconnect()
{
// arrange
int reconnected = 0;
var client = new TestSocketClient(new SocketClientOptions() { ReconnectInterval = TimeSpan.FromMilliseconds(1), LogVerbosity = LogVerbosity.Debug });
var socket = client.CreateSocket();
socket.ShouldReconnect = true;
socket.CanConnect = true;
socket.DisconnectTime = DateTime.UtcNow;
var sub = new SocketSubscription(socket);
client.ConnectSocketSub(sub);
var rstEvent = new ManualResetEvent(false);
client.OnReconnect += () =>
{
reconnected++;
rstEvent.Set();
return reconnected == 2;
};
// act
socket.InvokeClose();
rstEvent.WaitOne(1000);
Thread.Sleep(100);
// assert
Assert.IsTrue(reconnected == 2);
}
}
}