This commit is contained in:
parallelbgls
2017-04-28 09:32:02 +08:00
parent 80991bafbd
commit 8380c95570
2 changed files with 20 additions and 11 deletions

View File

@@ -9,7 +9,7 @@ using Modbus.Net.Modbus;
namespace Modbus.Net.Tests namespace Modbus.Net.Tests
{ {
[TestClass] [TestClass]
public class MachineUtilityMethodTest public class MachineMethodTest
{ {
[TestMethod] [TestMethod]
public void GetUtility() public void GetUtility()
@@ -25,16 +25,16 @@ namespace Modbus.Net.Tests
public async Task InvokeUtility() public async Task InvokeUtility()
{ {
BaseMachine<int, int> baseMachine = new ModbusMachine<int, int>(ModbusType.Tcp, "192.168.3.12", null, true, 2, 0); BaseMachine<int, int> baseMachine = new ModbusMachine<int, int>(ModbusType.Tcp, "192.168.3.12", null, true, 2, 0);
var success = baseMachine.InvokeUtilityMethod<IUtilityTime, Task<bool>>("SetTimeAsync", DateTime.Now); var success = await baseMachine.InvokeUtilityMethod<IUtilityTime, Task<bool>>("SetTimeAsync", DateTime.Now);
Assert.AreEqual(await success, true); Assert.AreEqual(success, true);
var time = baseMachine.InvokeUtilityMethod<IUtilityTime, Task<DateTime>>("GetTimeAsync"); var time = await baseMachine.InvokeUtilityMethod<IUtilityTime, Task<DateTime>>("GetTimeAsync");
Assert.AreEqual(((await time).ToUniversalTime() - DateTime.Now.ToUniversalTime()).Seconds < 10, true); Assert.AreEqual((time.ToUniversalTime() - DateTime.Now.ToUniversalTime()).Seconds < 10, true);
} }
[TestMethod] [TestMethod]
public async Task InvokeMachine() public async Task InvokeMachine()
{ {
BaseMachine<int, int> baseMachine = new ModbusMachine<int, int>(ModbusType.Tcp, "192.168.3.12", new List<AddressUnit<int>> BaseMachine<int, int> baseMachine = new ModbusMachine<int, int>(ModbusType.Tcp, "192.168.3.10", new List<AddressUnit<int>>
{ {
new AddressUnit<int> new AddressUnit<int>
{ {
@@ -46,7 +46,7 @@ namespace Modbus.Net.Tests
DataType = typeof(bool) DataType = typeof(bool)
} }
}, true, 2, 0); }, true, 2, 0);
var success = baseMachine.InvokeMachineMethod<IMachineData, Task<bool>>("SetDatasAsync", var success = await baseMachine.InvokeMachineMethod<IMachineData, Task<bool>>("SetDatasAsync",
MachineSetDataType.Address, MachineSetDataType.Address,
new Dictionary<string, double> new Dictionary<string, double>
{ {
@@ -54,9 +54,18 @@ namespace Modbus.Net.Tests
"0X 1.0", 1 "0X 1.0", 1
} }
}); });
Assert.AreEqual(await success, true); Assert.AreEqual(success, true);
var datas = baseMachine.InvokeMachineMethod<IMachineData, Task<Dictionary<string, ReturnUnit>>>("GetDatasAsync", MachineGetDataType.Address); var datas = await baseMachine.InvokeMachineMethod<IMachineData, Task<Dictionary<string, ReturnUnit>>>("GetDatasAsync", MachineGetDataType.Address);
Assert.AreEqual((await datas)["0X 1.0"], 1); Assert.AreEqual(datas["0X 1.0"].PlcValue, 1);
success = await baseMachine.InvokeMachineMethod<IMachineData, Task<bool>>("SetDatasAsync",
MachineSetDataType.Address,
new Dictionary<string, double>
{
{
"0X 1.0", 0
}
});
Assert.AreEqual(success, true);
} }
} }
} }

View File

@@ -57,7 +57,7 @@
<Compile Include="SiemensTest.cs" /> <Compile Include="SiemensTest.cs" />
<Compile Include="BaseTest.cs" /> <Compile Include="BaseTest.cs" />
<Compile Include="OpcTest.cs" /> <Compile Include="OpcTest.cs" />
<Compile Include="MachineUtilityMethodTest.cs" /> <Compile Include="MachineMethodTest.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Modbus.Net\Modbus.Net.Modbus\Modbus.Net.Modbus.csproj"> <ProjectReference Include="..\..\Modbus.Net\Modbus.Net.Modbus\Modbus.Net.Modbus.csproj">