Added new unit tests

This commit is contained in:
Felix Weiß
2023-06-13 11:42:49 +02:00
parent 6001402991
commit 24525521af
4 changed files with 244 additions and 2 deletions

104
MewtocolTests/TestClient.cs Normal file
View 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; }
}
}

View File

@@ -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