mirror of
https://github.com/OpenLogics/MewtocolNet.git
synced 2025-12-06 03:01:24 +00:00
Added new unit tests
This commit is contained in:
104
MewtocolTests/TestClient.cs
Normal file
104
MewtocolTests/TestClient.cs
Normal file
@@ -0,0 +1,104 @@
|
||||
using MewtocolNet;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace MewtocolTests {
|
||||
|
||||
public class TestClient {
|
||||
|
||||
private readonly ITestOutputHelper output;
|
||||
|
||||
private List<ExpectedTestData> testData = new() {
|
||||
|
||||
new ExpectedTestData {
|
||||
|
||||
PLCName = "FPX-H C30T",
|
||||
PLCIP = "192.168.115.210",
|
||||
PLCPort = 9094,
|
||||
Type = CpuType.FP_Sigma_X_H_30K_60K_120K,
|
||||
ProgCapacity = 32,
|
||||
|
||||
},
|
||||
new ExpectedTestData {
|
||||
|
||||
PLCName = "FPX-H C14R",
|
||||
PLCIP = "192.168.115.212",
|
||||
PLCPort = 9094,
|
||||
Type = CpuType.FP_Sigma_X_H_30K_60K_120K,
|
||||
ProgCapacity = 16,
|
||||
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
public TestClient (ITestOutputHelper output) {
|
||||
this.output = output;
|
||||
}
|
||||
|
||||
[Fact(DisplayName = "Connection cycle client to PLC")]
|
||||
public async void TestClientConnection () {
|
||||
|
||||
foreach (var plc in testData) {
|
||||
|
||||
output.WriteLine($"Testing: {plc.PLCName}");
|
||||
|
||||
var cycleClient = new MewtocolInterface(plc.PLCIP, plc.PLCPort);
|
||||
|
||||
await cycleClient.ConnectAsync();
|
||||
|
||||
Assert.True(cycleClient.IsConnected);
|
||||
|
||||
cycleClient.Disconnect();
|
||||
|
||||
Assert.False(cycleClient.IsConnected);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Fact(DisplayName = "Reading basic information from PLC")]
|
||||
public async void TestClientReadPLCStatus () {
|
||||
|
||||
foreach (var plc in testData) {
|
||||
|
||||
output.WriteLine($"Testing: {plc.PLCName}\n");
|
||||
|
||||
var client = new MewtocolInterface(plc.PLCIP, plc.PLCPort);
|
||||
|
||||
await client.ConnectAsync();
|
||||
|
||||
output.WriteLine($"{client.PlcInfo}\n");
|
||||
|
||||
Assert.True(client.IsConnected);
|
||||
|
||||
Assert.Equal(client.PlcInfo.CpuInformation.Cputype, plc.Type);
|
||||
Assert.Equal(client.PlcInfo.CpuInformation.ProgramCapacity, plc.ProgCapacity);
|
||||
|
||||
client.Disconnect();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class ExpectedTestData {
|
||||
|
||||
public string PLCName { get; set; }
|
||||
|
||||
public string PLCIP { get; set; }
|
||||
|
||||
public int PLCPort { get; set; }
|
||||
|
||||
public CpuType Type { get; set; }
|
||||
|
||||
public int ProgCapacity { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -25,7 +25,6 @@ namespace MewtocolTests {
|
||||
new NRegister<int>(50),
|
||||
new NRegister<uint>(50),
|
||||
new NRegister<float>(50),
|
||||
new NRegister<BitArray>(50),
|
||||
};
|
||||
|
||||
List<string> expcectedIdents = new List<string> {
|
||||
@@ -35,7 +34,6 @@ namespace MewtocolTests {
|
||||
"D0005000051", //double word register
|
||||
"D0005000051", //double word register
|
||||
"D0005000051", //double word register
|
||||
"D0005000051", //double word register
|
||||
};
|
||||
|
||||
//test mewtocol idents
|
||||
|
||||
Reference in New Issue
Block a user