public void GetMbapHeader() { WriteMultipleRegistersRequest?message = new(3, 1, MessageUtility.CreateDefaultCollection <RegisterCollection, ushort>(0, 120)); message.TransactionId = 45; Assert.Equal(new byte[] { 0, 45, 0, 0, 0, 247, 3 }, ModbusIpTransport.GetMbapHeader(message)); }
public void CreateWriteMultipleRegistersRequestMaxSize() { WriteMultipleRegistersRequest request = new(1, 2, MessageUtility.CreateDefaultCollection <RegisterCollection, ushort>(3, Modbus.MaximumRegisterRequestResponseSize)); Assert.Equal(Modbus.MaximumRegisterRequestResponseSize, request.NumberOfPoints); }
public void CreateDefaultCollection() { RegisterCollection col = MessageUtility.CreateDefaultCollection <RegisterCollection, ushort>(3, 5); Assert.Equal(5, col.Count); Assert.Equal(new ushort[] { 3, 3, 3, 3, 3 }, col.ToArray()); }
public void CreateWriteMultipleCoilsRequestMaxSize() { WriteMultipleCoilsRequest request = new(1, 2, MessageUtility.CreateDefaultCollection <DiscreteCollection, bool>(true, Modbus.MaximumDiscreteRequestResponseSize)); Assert.Equal(Modbus.MaximumDiscreteRequestResponseSize, request.Data.Count); }
public void CreateDefaultCollectionNegativeSize() => Assert.Throws <ArgumentOutOfRangeException>(() => MessageUtility.CreateDefaultCollection <RegisterCollection, ushort>(0, -1));
public void CreateWriteMultipleRegistersRequestTooMuchData() => Assert.Throws <ArgumentOutOfRangeException>(() => new WriteMultipleRegistersRequest(1, 2, MessageUtility.CreateDefaultCollection <RegisterCollection, ushort>(3, Modbus.MaximumRegisterRequestResponseSize + 1)));
public void CreateDefaultCollectionNegativeSize() { MessageUtility.CreateDefaultCollection <RegisterCollection, ushort>(0, -1); }
public void CreateWriteMultipleCoilsRequestTooMuchData() => Assert.Throws <ArgumentOutOfRangeException>(() => new WriteMultipleCoilsRequest(1, 2, MessageUtility.CreateDefaultCollection <DiscreteCollection, bool>(true, Modbus.MaximumDiscreteRequestResponseSize + 1)));