Skip to content

Commit ab189d6

Browse files
committed
Add test for serial communication.
1 parent e9329de commit ab189d6

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Diagnostics;
4+
using System.IO;
5+
using System.IO.Ports;
6+
using System.Net;
7+
using System.Threading;
8+
using System.Threading.Tasks;
9+
using Microsoft.VisualStudio.TestTools.UnitTesting;
10+
using Valley.Net.Bindings.Serial;
11+
using Valley.Net.Protocols.MeterBus.EN13757_2;
12+
using Valley.Net.Protocols.MeterBus.EN13757_3;
13+
14+
namespace Valley.Net.Protocols.MeterBus.Test
15+
{
16+
[TestClass]
17+
public sealed class SerialTests
18+
{
19+
private const int TIMEOUT_IN_SECONDS = 3;
20+
21+
[TestMethod]
22+
public async Task Meter_Should_Respond_With_Ack_When_Sending_SND_NKE()
23+
{
24+
var resetEvent = new AutoResetEvent(false);
25+
26+
var port = new SerialPort();
27+
port.BaudRate = 1200;
28+
29+
var endpoint = new SerialBinding(port, (x, y) =>
30+
{
31+
return null;
32+
}, new MeterbusFrameSerializer());
33+
34+
endpoint.PacketReceived += (sender, e) => resetEvent.Set();
35+
36+
await endpoint.ConnectAsync();
37+
38+
await endpoint.SendAsync(new ShortFrame((byte)ControlMask.SND_NKE, 0x0a));
39+
40+
Assert.IsTrue(resetEvent.WaitOne(TimeSpan.FromSeconds(TIMEOUT_IN_SECONDS)));
41+
42+
await endpoint.DisconnectAsync();
43+
}
44+
}
45+
}

Valley.Net.Protocols.MeterBus.Test/Valley.Net.Protocols.MeterBus.Test.csproj

+2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
<ItemGroup>
1010
<PackageReference Include="MSTest.TestAdapter" Version="2.0.0" />
1111
<PackageReference Include="MSTest.TestFramework" Version="2.0.0" />
12+
<PackageReference Include="System.IO.Ports" Version="4.6.0" />
1213
<PackageReference Include="Valley.Net.Bindings" Version="1.0.2" />
14+
<PackageReference Include="Valley.Net.Bindings.Serial" Version="1.0.0" />
1315
</ItemGroup>
1416

1517
<ItemGroup>

0 commit comments

Comments
 (0)