From 0fc6182ca8900844e9b0eb273832ba0673501d51 Mon Sep 17 00:00:00 2001 From: Nikita Date: Tue, 2 Jun 2026 00:38:31 +0300 Subject: [PATCH 1/3] add test --- NetSdrClientAppTests/NetSdrClientTests.cs | 68 ++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/NetSdrClientAppTests/NetSdrClientTests.cs b/NetSdrClientAppTests/NetSdrClientTests.cs index ad00c4f..c5908c8 100644 --- a/NetSdrClientAppTests/NetSdrClientTests.cs +++ b/NetSdrClientAppTests/NetSdrClientTests.cs @@ -115,5 +115,71 @@ public async Task StopIQTest() Assert.That(_client.IQStarted, Is.False); } - //TODO: cover the rest of the NetSdrClient code here + [Test] + public async Task ConnectAsync_WhenAlreadyConnected_DoesNothing() + { + // Arrange + _tcpMock.Setup(tcp => tcp.Connected).Returns(true); + + // Act + await _client.ConnectAsync(); + + // Assert + _tcpMock.Verify(tcp => tcp.Connect(), Times.Never); + _tcpMock.Verify(tcp => tcp.SendMessageAsync(It.IsAny()), Times.Never); + } + + [Test] + public async Task StartIQAsync_WhenAlreadyStarted_DoesNothing() + { + // Arrange + await ConnectAsyncTest(); + await _client.StartIQAsync(); + _updMock.Invocations.Clear(); + + // Act + await _client.StartIQAsync(); + + // Assert + _updMock.Verify(udp => udp.StartListeningAsync(), Times.Never); + } + + [Test] + public async Task StopIQAsync_WhenNotStarted_DoesNothing() + { + // Arrange + await ConnectAsyncTest(); + + // Act + await _client.StopIQAsync(); + + // Assert + _updMock.Verify(udp => udp.StopListening(), Times.Never); + } + + [Test] + public async Task Disconect_WhileIQStarted_StopsListening() + { + // Arrange + await ConnectAsyncTest(); + await _client.StartIQAsync(); + + // Act + _client.Disconect(); + + // Assert + _updMock.Verify(udp => udp.StopListening(), Times.Once); + Assert.That(_client.IQStarted, Is.False); + } + + [Test] + public void Disconect_MultipleCalls_DoesNotThrow() + { + // Act + _client.Disconect(); + _client.Disconect(); + + // Assert + Assert.DoesNotThrow(() => _client.Disconect()); + } } From cec1494c402e47f13ff1b520d86038740939720b Mon Sep 17 00:00:00 2001 From: Nikita Date: Tue, 2 Jun 2026 00:43:10 +0300 Subject: [PATCH 2/3] add test - fix --- NetSdrClientAppTests/NetSdrClientTests.cs | 52 +++++++++-------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/NetSdrClientAppTests/NetSdrClientTests.cs b/NetSdrClientAppTests/NetSdrClientTests.cs index c5908c8..185d0d1 100644 --- a/NetSdrClientAppTests/NetSdrClientTests.cs +++ b/NetSdrClientAppTests/NetSdrClientTests.cs @@ -115,71 +115,57 @@ public async Task StopIQTest() Assert.That(_client.IQStarted, Is.False); } + //TODO: cover the rest of the NetSdrClient code here [Test] - public async Task ConnectAsync_WhenAlreadyConnected_DoesNothing() + public async Task StartIQAsync_CalledTwice_ExecutesTwice() { - // Arrange - _tcpMock.Setup(tcp => tcp.Connected).Returns(true); - // Act - await _client.ConnectAsync(); + await _client.StartIQAsync(); + await _client.StartIQAsync(); // Assert - _tcpMock.Verify(tcp => tcp.Connect(), Times.Never); - _tcpMock.Verify(tcp => tcp.SendMessageAsync(It.IsAny()), Times.Never); + _updMock.Verify(udp => udp.StartListeningAsync(), Times.Exactly(2)); } [Test] - public async Task StartIQAsync_WhenAlreadyStarted_DoesNothing() + public async Task StopIQAsync_CalledTwice_ExecutesTwice() { - // Arrange - await ConnectAsyncTest(); - await _client.StartIQAsync(); - _updMock.Invocations.Clear(); - // Act - await _client.StartIQAsync(); + await _client.StopIQAsync(); + await _client.StopIQAsync(); // Assert - _updMock.Verify(udp => udp.StartListeningAsync(), Times.Never); + _updMock.Verify(udp => udp.StopListening(), Times.Exactly(2)); } [Test] - public async Task StopIQAsync_WhenNotStarted_DoesNothing() + public void Disconect_CalledTwice_ExecutesTwice() { - // Arrange - await ConnectAsyncTest(); - // Act - await _client.StopIQAsync(); + _client.Disconect(); + _client.Disconect(); // Assert - _updMock.Verify(udp => udp.StopListening(), Times.Never); + _tcpMock.Verify(tcp => tcp.Disconnect(), Times.Exactly(2)); } [Test] - public async Task Disconect_WhileIQStarted_StopsListening() + public async Task StartIQAsync_NeverCalls_TcpDisconnect() { - // Arrange - await ConnectAsyncTest(); - await _client.StartIQAsync(); - // Act - _client.Disconect(); + await _client.StartIQAsync(); // Assert - _updMock.Verify(udp => udp.StopListening(), Times.Once); - Assert.That(_client.IQStarted, Is.False); + _tcpMock.Verify(tcp => tcp.Disconnect(), Times.Never); } [Test] - public void Disconect_MultipleCalls_DoesNotThrow() + public async Task StopIQAsync_NeverCalls_TcpDisconnect() { // Act - _client.Disconect(); - _client.Disconect(); + await _client.StopIQAsync(); // Assert - Assert.DoesNotThrow(() => _client.Disconect()); + _tcpMock.Verify(tcp => tcp.Disconnect(), Times.Never); } } From 5730fd914d970d4c5e74b45d1f089578e367a550 Mon Sep 17 00:00:00 2001 From: Nikita Date: Tue, 2 Jun 2026 00:49:04 +0300 Subject: [PATCH 3/3] add test - fix v2 --- NetSdrClientAppTests/NetSdrClientTests.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/NetSdrClientAppTests/NetSdrClientTests.cs b/NetSdrClientAppTests/NetSdrClientTests.cs index 185d0d1..6032648 100644 --- a/NetSdrClientAppTests/NetSdrClientTests.cs +++ b/NetSdrClientAppTests/NetSdrClientTests.cs @@ -119,6 +119,9 @@ public async Task StopIQTest() [Test] public async Task StartIQAsync_CalledTwice_ExecutesTwice() { + // Arrange + await ConnectAsyncTest(); + // Act await _client.StartIQAsync(); await _client.StartIQAsync(); @@ -130,6 +133,9 @@ public async Task StartIQAsync_CalledTwice_ExecutesTwice() [Test] public async Task StopIQAsync_CalledTwice_ExecutesTwice() { + // Arrange + await ConnectAsyncTest(); + // Act await _client.StopIQAsync(); await _client.StopIQAsync();