public void ProtocolDataUnit()
		{
			RegisterCollection writeCollection = new RegisterCollection(255, 255, 255);
			ReadWriteMultipleRegistersRequest request = new ReadWriteMultipleRegistersRequest(5, 3, 6, 14, writeCollection);
			byte[] pdu = { 0x17, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x03, 0x06, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff };
			Assert.AreEqual(pdu, request.ProtocolDataUnit);
		}
		public void ToString_ReadWriteMultipleRegistersRequest()
		{
			RegisterCollection writeCollection = new RegisterCollection(255, 255, 255);
			ReadWriteMultipleRegistersRequest request = new ReadWriteMultipleRegistersRequest(5, 3, 6, 14, writeCollection);

			Assert.AreEqual("Write 3 holding registers starting at address 14, and read 6 registers starting at address 3.", request.ToString());
		}
		public void ReadWriteMultipleRegistersRequest()
		{
			RegisterCollection writeCollection = new RegisterCollection(255, 255, 255);
			ReadWriteMultipleRegistersRequest request = new ReadWriteMultipleRegistersRequest(5, 3, 6, 14, writeCollection);
			Assert.AreEqual(Modbus.ReadWriteMultipleRegisters, request.FunctionCode);
			Assert.AreEqual(5, request.SlaveAddress);

			// test read
			Assert.IsNotNull(request.ReadRequest);
			Assert.AreEqual(request.SlaveAddress, request.ReadRequest.SlaveAddress);
			Assert.AreEqual(3, request.ReadRequest.StartAddress);
			Assert.AreEqual(6, request.ReadRequest.NumberOfPoints);

			// test write
			Assert.IsNotNull(request.WriteRequest);
			Assert.AreEqual(request.SlaveAddress, request.WriteRequest.SlaveAddress);
			Assert.AreEqual(14, request.WriteRequest.StartAddress);
			Assert.AreEqual(writeCollection.NetworkBytes, request.WriteRequest.Data.NetworkBytes);
		}
 public void CreateModbusMessageReadWriteMultipleRegistersRequest()
 {
     ReadWriteMultipleRegistersRequest request =
         ModbusMessageFactory.CreateModbusMessage<ReadWriteMultipleRegistersRequest>(new byte[]
         {0x05, 0x17, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x03, 0x06, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff});
     RegisterCollection writeCollection = new RegisterCollection(255, 255, 255);
     ReadWriteMultipleRegistersRequest expectedRequest = new ReadWriteMultipleRegistersRequest(5, 3, 6, 14,
         writeCollection);
     AssertModbusMessagePropertiesAreEqual(expectedRequest, request);
 }