From 09a863271f1d180da9acce33b622d7f49c71f06f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hakan=20F=C4=B1st=C4=B1k?= Date: Tue, 10 May 2022 09:49:15 +0300 Subject: [PATCH] Remove nullable types --- Modbus/Data/DataStoreEventArgs.cs | 4 +- Modbus/Data/DataStoreFactory.cs | 8 +- Modbus/Device/ModbusTcpSlave.cs | 4 +- Modbus/Extensions/Enron/EnronModbus.cs | 4 +- Modbus/IO/ModbusAsciiTransport.cs | 8 +- Modbus/IO/ModbusIpTransport.cs | 10 +- Modbus/IO/ModbusRtuTransport.cs | 2 +- Modbus/IO/StreamResourceUtility.cs | 4 +- Modbus/Message/ModbusMessageImpl.cs | 2 +- .../ReadWriteMultipleRegistersRequest.cs | 2 +- .../ModbusIpMasterFixture.cs | 20 +-- .../NModbusSerialRtuMasterFixture.cs | 2 +- .../NModbusSerialRtuSlaveFixture.cs | 4 +- .../NModbusTcpSlaveFixture.cs | 28 ++--- .../NModbusUdpSlaveFixture.cs | 20 +-- NModbus4.IntegrationTests/TestCases.cs | 26 ++-- .../Data/BoolModbusDataCollectionFixture.cs | 2 +- .../Data/DataStoreEventArgsFixture.cs | 2 +- .../Data/DiscreteCollectionFixture.cs | 8 +- .../Data/ModbusDataCollectionFixture.cs | 18 +-- .../Data/UshortModbusDataCollectionFixture.cs | 2 +- .../Device/ModbusSlaveFixture.cs | 2 +- .../Device/TcpConnectionEventArgsFixture.cs | 2 +- .../IO/EmptyTransportFixture.cs | 2 +- .../IO/ModbusAsciiTransportFixture.cs | 20 +-- .../IO/ModbusRtuTransportFixture.cs | 34 ++--- .../IO/ModbusSerialTransportFixture.cs | 18 +-- .../IO/ModbusTcpTransportFixture.cs | 58 ++++----- .../IO/ModbusTransportFixture.cs | 118 +++++++++--------- .../IO/UdpClientAdapterFixture.cs | 4 +- .../InvalidModbusRequestExceptionFixture.cs | 12 +- .../Message/ModbusMessageFixture.cs | 2 +- .../WriteMultipleCoilsResponseFixture.cs | 2 +- .../WriteMultipleRegistersResponseFixture.cs | 2 +- .../WriteSingleCoilRequestResponseFixture.cs | 4 +- NModbus4.UnitTests/SlaveExceptionFixture.cs | 16 +-- .../Utility/DiscriminatedUnionFixture.cs | 12 +- 37 files changed, 244 insertions(+), 244 deletions(-) diff --git a/Modbus/Data/DataStoreEventArgs.cs b/Modbus/Data/DataStoreEventArgs.cs index 5159d72..8553ac8 100644 --- a/Modbus/Data/DataStoreEventArgs.cs +++ b/Modbus/Data/DataStoreEventArgs.cs @@ -39,7 +39,7 @@ internal static DataStoreEventArgs CreateDataStoreEventArgs(ushort startAddre if (typeof(T) == typeof(bool)) { - ReadOnlyCollection? a = new(data.Cast().ToArray()); + ReadOnlyCollection a = new(data.Cast().ToArray()); eventArgs = new DataStoreEventArgs(startAddress, modbusDataType) { @@ -48,7 +48,7 @@ internal static DataStoreEventArgs CreateDataStoreEventArgs(ushort startAddre } else if (typeof(T) == typeof(ushort)) { - ReadOnlyCollection? b = new(data.Cast().ToArray()); + ReadOnlyCollection b = new(data.Cast().ToArray()); eventArgs = new DataStoreEventArgs(startAddress, modbusDataType) { diff --git a/Modbus/Data/DataStoreFactory.cs b/Modbus/Data/DataStoreFactory.cs index a74d2ef..eaa629d 100644 --- a/Modbus/Data/DataStoreFactory.cs +++ b/Modbus/Data/DataStoreFactory.cs @@ -21,10 +21,10 @@ public static DataStore CreateDefaultDataStore() => /// New instance of Data store with defined inputs/outputs. public static DataStore CreateDefaultDataStore(ushort coilsCount, ushort inputsCount, ushort holdingRegistersCount, ushort inputRegistersCount) { - bool[]? coils = new bool[coilsCount]; - bool[]? inputs = new bool[inputsCount]; - ushort[]? holdingRegs = new ushort[holdingRegistersCount]; - ushort[]? inputRegs = new ushort[inputRegistersCount]; + bool[] coils = new bool[coilsCount]; + bool[] inputs = new bool[inputsCount]; + ushort[] holdingRegs = new ushort[holdingRegistersCount]; + ushort[] inputRegs = new ushort[inputRegistersCount]; return new DataStore(coils, inputs, holdingRegs, inputRegs); } diff --git a/Modbus/Device/ModbusTcpSlave.cs b/Modbus/Device/ModbusTcpSlave.cs index 550e55d..1693442 100644 --- a/Modbus/Device/ModbusTcpSlave.cs +++ b/Modbus/Device/ModbusTcpSlave.cs @@ -100,7 +100,7 @@ public override async Task ListenAsync() while (true) { TcpClient client = await Server.AcceptTcpClientAsync().ConfigureAwait(false); - ModbusMasterTcpConnection? masterConnection = new(client, this); + ModbusMasterTcpConnection masterConnection = new(client, this); masterConnection.ModbusMasterTcpConnectionClosed += OnMasterConnectionClosedHandler; _masters.TryAdd(client.Client.RemoteEndPoint.ToString(), masterConnection); } @@ -134,7 +134,7 @@ protected override void Dispose(bool disposing) } #endif - foreach (string? key in _masters.Keys) + foreach (string key in _masters.Keys) { if (_masters.TryRemove(key, out ModbusMasterTcpConnection connection)) { diff --git a/Modbus/Extensions/Enron/EnronModbus.cs b/Modbus/Extensions/Enron/EnronModbus.cs index 8a802b2..33c4fdc 100644 --- a/Modbus/Extensions/Enron/EnronModbus.cs +++ b/Modbus/Extensions/Enron/EnronModbus.cs @@ -27,7 +27,7 @@ public static uint[] ReadHoldingRegisters32( ValidateNumberOfPoints(numberOfPoints, 62); // read 16 bit chunks and perform conversion - ushort[]? rawRegisters = master.ReadHoldingRegisters( + ushort[] rawRegisters = master.ReadHoldingRegisters( slaveAddress, startAddress, (ushort)(numberOfPoints * 2)); @@ -53,7 +53,7 @@ public static uint[] ReadInputRegisters32( ValidateNumberOfPoints(numberOfPoints, 62); - ushort[]? rawRegisters = master.ReadInputRegisters( + ushort[] rawRegisters = master.ReadInputRegisters( slaveAddress, startAddress, (ushort)(numberOfPoints * 2)); diff --git a/Modbus/IO/ModbusAsciiTransport.cs b/Modbus/IO/ModbusAsciiTransport.cs index 6cdb144..185b9aa 100644 --- a/Modbus/IO/ModbusAsciiTransport.cs +++ b/Modbus/IO/ModbusAsciiTransport.cs @@ -20,11 +20,11 @@ internal override byte[] BuildMessageFrame(IModbusMessage message) { byte[]? msgFrame = message.MessageFrame; - byte[]? msgFrameAscii = ModbusUtility.GetAsciiBytes(msgFrame); - byte[]? lrcAscii = ModbusUtility.GetAsciiBytes(ModbusUtility.CalculateLrc(msgFrame)); - byte[]? nlAscii = Encoding.UTF8.GetBytes(Modbus.NewLine.ToCharArray()); + byte[] msgFrameAscii = ModbusUtility.GetAsciiBytes(msgFrame); + byte[] lrcAscii = ModbusUtility.GetAsciiBytes(ModbusUtility.CalculateLrc(msgFrame)); + byte[] nlAscii = Encoding.UTF8.GetBytes(Modbus.NewLine.ToCharArray()); - MemoryStream? frame = new(1 + msgFrameAscii.Length + lrcAscii.Length + nlAscii.Length); + MemoryStream frame = new(1 + msgFrameAscii.Length + lrcAscii.Length + nlAscii.Length); frame.WriteByte((byte)':'); frame.Write(msgFrameAscii, 0, msgFrameAscii.Length); frame.Write(lrcAscii, 0, lrcAscii.Length); diff --git a/Modbus/IO/ModbusIpTransport.cs b/Modbus/IO/ModbusIpTransport.cs index 3ac7020..c82c4f2 100644 --- a/Modbus/IO/ModbusIpTransport.cs +++ b/Modbus/IO/ModbusIpTransport.cs @@ -23,7 +23,7 @@ internal ModbusIpTransport(IStreamResource streamResource) internal static byte[] ReadRequestResponse(IStreamResource streamResource) { // read header - byte[]? mbapHeader = new byte[6]; + byte[] mbapHeader = new byte[6]; int numBytesRead = 0; while (numBytesRead != 6) @@ -43,7 +43,7 @@ internal static byte[] ReadRequestResponse(IStreamResource streamResource) Debug.WriteLine($"{frameLength} bytes in PDU."); // read message - byte[]? messageFrame = new byte[frameLength]; + byte[] messageFrame = new byte[frameLength]; numBytesRead = 0; while (numBytesRead != frameLength) @@ -59,7 +59,7 @@ internal static byte[] ReadRequestResponse(IStreamResource streamResource) } Debug.WriteLine($"PDU: {frameLength}"); - byte[]? frame = mbapHeader.Concat(messageFrame).ToArray(); + byte[] frame = mbapHeader.Concat(messageFrame).ToArray(); Debug.WriteLine($"RX: {string.Join(", ", frame)}"); return frame; @@ -70,7 +70,7 @@ internal static byte[] GetMbapHeader(IModbusMessage message) byte[] transactionId = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)message.TransactionId)); byte[] length = BitConverter.GetBytes(IPAddress.HostToNetworkOrder((short)(message.ProtocolDataUnit.Length + 1))); - MemoryStream? stream = new(7); + MemoryStream stream = new(7); stream.Write(transactionId, 0, transactionId.Length); stream.WriteByte(0); stream.WriteByte(0); @@ -109,7 +109,7 @@ internal override byte[] BuildMessageFrame(IModbusMessage message) { byte[] header = GetMbapHeader(message); byte[] pdu = message.ProtocolDataUnit; - MemoryStream? messageBody = new(header.Length + pdu.Length); + MemoryStream messageBody = new(header.Length + pdu.Length); messageBody.Write(header, 0, header.Length); messageBody.Write(pdu, 0, pdu.Length); diff --git a/Modbus/IO/ModbusRtuTransport.cs b/Modbus/IO/ModbusRtuTransport.cs index fc9f87c..9955783 100644 --- a/Modbus/IO/ModbusRtuTransport.cs +++ b/Modbus/IO/ModbusRtuTransport.cs @@ -103,7 +103,7 @@ internal override byte[] BuildMessageFrame(IModbusMessage message) { byte[]? messageFrame = message.MessageFrame; byte[]? crc = ModbusUtility.CalculateCrc(messageFrame); - MemoryStream? messageBody = new(messageFrame.Length + crc.Length); + MemoryStream messageBody = new(messageFrame.Length + crc.Length); messageBody.Write(messageFrame, 0, messageFrame.Length); messageBody.Write(crc, 0, crc.Length); diff --git a/Modbus/IO/StreamResourceUtility.cs b/Modbus/IO/StreamResourceUtility.cs index b641519..20ab028 100644 --- a/Modbus/IO/StreamResourceUtility.cs +++ b/Modbus/IO/StreamResourceUtility.cs @@ -6,8 +6,8 @@ internal static class StreamResourceUtility { internal static string ReadLine(IStreamResource stream) { - StringBuilder? result = new(); - byte[]? singleByteBuffer = new byte[1]; + StringBuilder result = new(); + byte[] singleByteBuffer = new byte[1]; do { diff --git a/Modbus/Message/ModbusMessageImpl.cs b/Modbus/Message/ModbusMessageImpl.cs index 49be4cb..40a1643 100644 --- a/Modbus/Message/ModbusMessageImpl.cs +++ b/Modbus/Message/ModbusMessageImpl.cs @@ -42,7 +42,7 @@ public byte[] MessageFrame get { byte[]? pdu = ProtocolDataUnit; - MemoryStream? frame = new(1 + pdu.Length); + MemoryStream frame = new(1 + pdu.Length); frame.WriteByte(SlaveAddress); frame.Write(pdu, 0, pdu.Length); diff --git a/Modbus/Message/ReadWriteMultipleRegistersRequest.cs b/Modbus/Message/ReadWriteMultipleRegistersRequest.cs index a1bbc10..5de8923 100644 --- a/Modbus/Message/ReadWriteMultipleRegistersRequest.cs +++ b/Modbus/Message/ReadWriteMultipleRegistersRequest.cs @@ -34,7 +34,7 @@ public override byte[] ProtocolDataUnit { byte[] readPdu = ReadRequest.ProtocolDataUnit; byte[] writePdu = WriteRequest.ProtocolDataUnit; - MemoryStream? stream = new(readPdu.Length + writePdu.Length); + MemoryStream stream = new(readPdu.Length + writePdu.Length); stream.WriteByte(FunctionCode); diff --git a/NModbus4.IntegrationTests/ModbusIpMasterFixture.cs b/NModbus4.IntegrationTests/ModbusIpMasterFixture.cs index a8a61e2..cbc4800 100644 --- a/NModbus4.IntegrationTests/ModbusIpMasterFixture.cs +++ b/NModbus4.IntegrationTests/ModbusIpMasterFixture.cs @@ -10,15 +10,15 @@ public class ModbusIpMasterFixture [Fact] public void OverrideTimeoutOnTcpClient() { - TcpListener? listener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); - using ModbusTcpSlave? slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, listener); - Thread? slaveThread = new(async () => await slave.ListenAsync()); + TcpListener listener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); + using ModbusTcpSlave slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, listener); + Thread slaveThread = new(async () => await slave.ListenAsync()); slaveThread.Start(); - TcpClient? client = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); + TcpClient client = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); client.ReceiveTimeout = 1500; client.SendTimeout = 3000; - using ModbusIpMaster? master = ModbusIpMaster.CreateIp(client); + using ModbusIpMaster master = ModbusIpMaster.CreateIp(client); Assert.Equal(1500, client.GetStream().ReadTimeout); Assert.Equal(3000, client.GetStream().WriteTimeout); } @@ -26,15 +26,15 @@ public void OverrideTimeoutOnTcpClient() [Fact] public void OverrideTimeoutOnNetworkStream() { - TcpListener? listener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); - using ModbusTcpSlave? slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, listener); - Thread? slaveThread = new(async () => await slave.ListenAsync()); + TcpListener listener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); + using ModbusTcpSlave slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, listener); + Thread slaveThread = new(async () => await slave.ListenAsync()); slaveThread.Start(); - TcpClient? client = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); + TcpClient client = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); client.GetStream().ReadTimeout = 1500; client.GetStream().WriteTimeout = 3000; - using ModbusIpMaster? master = ModbusIpMaster.CreateIp(client); + using ModbusIpMaster master = ModbusIpMaster.CreateIp(client); Assert.Equal(1500, client.GetStream().ReadTimeout); Assert.Equal(3000, client.GetStream().WriteTimeout); } diff --git a/NModbus4.IntegrationTests/NModbusSerialRtuMasterFixture.cs b/NModbus4.IntegrationTests/NModbusSerialRtuMasterFixture.cs index 2b2b5c8..4401fbd 100644 --- a/NModbus4.IntegrationTests/NModbusSerialRtuMasterFixture.cs +++ b/NModbus4.IntegrationTests/NModbusSerialRtuMasterFixture.cs @@ -10,7 +10,7 @@ public class NModbusSerialRtuMasterFixture public void NModbusRtuMaster_ReadTimeout() { SerialPort port = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultMasterSerialPortName); - using ModbusSerialMaster? master = ModbusSerialMaster.CreateRtu(port); + using ModbusSerialMaster master = ModbusSerialMaster.CreateRtu(port); master.Transport.ReadTimeout = master.Transport.WriteTimeout = 1000; master.ReadCoils(100, 1, 1); } diff --git a/NModbus4.IntegrationTests/NModbusSerialRtuSlaveFixture.cs b/NModbus4.IntegrationTests/NModbusSerialRtuSlaveFixture.cs index 3f1790c..9a0c5d1 100644 --- a/NModbus4.IntegrationTests/NModbusSerialRtuSlaveFixture.cs +++ b/NModbus4.IntegrationTests/NModbusSerialRtuSlaveFixture.cs @@ -14,8 +14,8 @@ public void NModbusSerialRtuSlave_BonusCharacter_VerifyTimeout() SerialPort masterPort = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultMasterSerialPortName); SerialPort slavePort = ModbusMasterFixture.CreateAndOpenSerialPort(ModbusMasterFixture.DefaultSlaveSerialPortName); - using ModbusSerialMaster? master = ModbusSerialMaster.CreateRtu(masterPort); - using ModbusSerialSlave? slave = ModbusSerialSlave.CreateRtu(1, slavePort); + using ModbusSerialMaster master = ModbusSerialMaster.CreateRtu(masterPort); + using ModbusSerialSlave slave = ModbusSerialSlave.CreateRtu(1, slavePort); master.Transport.ReadTimeout = master.Transport.WriteTimeout = 1000; slave.DataStore = DataStoreFactory.CreateTestDataStore(); diff --git a/NModbus4.IntegrationTests/NModbusTcpSlaveFixture.cs b/NModbus4.IntegrationTests/NModbusTcpSlaveFixture.cs index 4136abb..058604a 100644 --- a/NModbus4.IntegrationTests/NModbusTcpSlaveFixture.cs +++ b/NModbus4.IntegrationTests/NModbusTcpSlaveFixture.cs @@ -19,7 +19,7 @@ public class NModbusTcpSlaveFixture public void ModbusTcpSlave_ConnectionResetByPeer() { TcpListener slaveListener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); - using ModbusTcpSlave? slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); + using ModbusTcpSlave slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); Thread slaveThread = new(async () => await slave.ListenAsync()); slaveThread.IsBackground = true; slaveThread.Start(); @@ -46,13 +46,13 @@ public void ModbusTcpSlave_ConnectionResetByPeer() public void ModbusTcpSlave_ConnectionClosesGracefully() { TcpListener slaveListener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); - using ModbusTcpSlave? slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); + using ModbusTcpSlave slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); Thread slaveThread = new(async () => await slave.ListenAsync()); slaveThread.IsBackground = true; slaveThread.Start(); - TcpClient? masterClient = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); - using (ModbusIpMaster? master = ModbusIpMaster.CreateIp(masterClient)) + TcpClient masterClient = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); + using (ModbusIpMaster master = ModbusIpMaster.CreateIp(masterClient)) { master.Transport.Retries = 0; @@ -75,13 +75,13 @@ public void ModbusTcpSlave_ConnectionClosesGracefully() public void ModbusTcpSlave_ConnectionSlowlyClosesGracefully() { TcpListener slaveListener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); - using ModbusTcpSlave? slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); + using ModbusTcpSlave slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); Thread slaveThread = new(async () => await slave.ListenAsync()); slaveThread.IsBackground = true; slaveThread.Start(); - TcpClient? masterClient = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); - using (ModbusIpMaster? master = ModbusIpMaster.CreateIp(masterClient)) + TcpClient masterClient = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); + using (ModbusIpMaster master = ModbusIpMaster.CreateIp(masterClient)) { master.Transport.Retries = 0; @@ -102,14 +102,14 @@ public void ModbusTcpSlave_ConnectionSlowlyClosesGracefully() [Fact] public void ModbusTcpSlave_MultiThreaded() { - TcpListener? slaveListener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); - using ModbusTcpSlave? slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); + TcpListener slaveListener = new(ModbusMasterFixture.TcpHost, ModbusMasterFixture.Port); + using ModbusTcpSlave slave = ModbusTcpSlave.CreateTcp(ModbusMasterFixture.SlaveAddress, slaveListener); Thread slaveThread = new(async () => await slave.ListenAsync()); slaveThread.IsBackground = true; slaveThread.Start(); - Thread? workerThread1 = new(Read); - Thread? workerThread2 = new(Read); + Thread workerThread1 = new(Read); + Thread workerThread2 = new(Read); workerThread1.Start(); workerThread2.Start(); @@ -119,11 +119,11 @@ public void ModbusTcpSlave_MultiThreaded() private static void Read(object state) { - TcpClient? masterClient = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); - using ModbusIpMaster? master = ModbusIpMaster.CreateIp(masterClient); + TcpClient masterClient = new(ModbusMasterFixture.TcpHost.ToString(), ModbusMasterFixture.Port); + using ModbusIpMaster master = ModbusIpMaster.CreateIp(masterClient); master.Transport.Retries = 0; - Random? random = new(); + Random random = new(); for (int i = 0; i < 5; i++) { bool[] coils = master.ReadCoils(1, 1); diff --git a/NModbus4.IntegrationTests/NModbusUdpSlaveFixture.cs b/NModbus4.IntegrationTests/NModbusUdpSlaveFixture.cs index a1ba096..3b00cf1 100644 --- a/NModbus4.IntegrationTests/NModbusUdpSlaveFixture.cs +++ b/NModbus4.IntegrationTests/NModbusUdpSlaveFixture.cs @@ -14,10 +14,10 @@ public class NModbusUdpSlaveFixture public void ModbusUdpSlave_EnsureTheSlaveShutsDownCleanly() { UdpClient client = new(ModbusMasterFixture.Port); - using ModbusUdpSlave? slave = ModbusUdpSlave.CreateUdp(1, client); - AutoResetEvent? handle = new(false); + using ModbusUdpSlave slave = ModbusUdpSlave.CreateUdp(1, client); + AutoResetEvent handle = new(false); - Thread? backgroundThread = new(async (state) => + Thread backgroundThread = new(async (state) => { handle.Set(); await slave.ListenAsync(); @@ -92,12 +92,12 @@ public void ModbusUdpSlave_MultipleMasters() [Fact] public void ModbusUdpSlave_MultiThreaded() { - DataStore? dataStore = DataStoreFactory.CreateDefaultDataStore(); + DataStore dataStore = DataStoreFactory.CreateDefaultDataStore(); dataStore.CoilDiscretes.Add(false); - using UdpClient? slave = CreateAndStartUdpSlave(502, dataStore); - Thread? workerThread1 = new(ReadThread); - Thread? workerThread2 = new(ReadThread); + using UdpClient slave = CreateAndStartUdpSlave(502, dataStore); + Thread workerThread1 = new(ReadThread); + Thread workerThread2 = new(ReadThread); workerThread1.Start(); workerThread2.Start(); @@ -130,12 +130,12 @@ public void ModbusUdpSlave_SingleMasterPollingMultipleSlaves() private static void ReadThread(object state) { - UdpClient? masterClient = new(); + UdpClient masterClient = new(); masterClient.Connect(ModbusMasterFixture.DefaultModbusIPEndPoint); - using ModbusIpMaster? master = ModbusIpMaster.CreateIp(masterClient); + using ModbusIpMaster master = ModbusIpMaster.CreateIp(masterClient); master.Transport.Retries = 0; - Random? random = new(); + Random random = new(); for (int i = 0; i < 5; i++) { bool[] coils = master.ReadCoils(1, 1); diff --git a/NModbus4.IntegrationTests/TestCases.cs b/NModbus4.IntegrationTests/TestCases.cs index 283e858..bd4ce63 100644 --- a/NModbus4.IntegrationTests/TestCases.cs +++ b/NModbus4.IntegrationTests/TestCases.cs @@ -12,8 +12,8 @@ internal class TestCases { public static void Serial() { - using SerialPort? masterPort = new("COM2"); - using SerialPort? slavePort = new("COM1"); + using SerialPort masterPort = new("COM2"); + using SerialPort slavePort = new("COM1"); // configure serial ports masterPort.BaudRate = slavePort.BaudRate = 9600; masterPort.DataBits = slavePort.DataBits = 8; @@ -22,45 +22,45 @@ public static void Serial() masterPort.Open(); slavePort.Open(); - using ModbusSerialSlave? slave = ModbusSerialSlave.CreateRtu(1, slavePort); + using ModbusSerialSlave slave = ModbusSerialSlave.CreateRtu(1, slavePort); StartSlave(slave); // create modbus master - using ModbusSerialMaster? master = ModbusSerialMaster.CreateRtu(masterPort); + using ModbusSerialMaster master = ModbusSerialMaster.CreateRtu(masterPort); ReadRegisters(master); } public static void Tcp() { - TcpListener? slaveClient = new(new IPAddress(new byte[] { 127, 0, 0, 1 }), 502); - using ModbusTcpSlave? slave = ModbusTcpSlave.CreateTcp((byte)1, slaveClient); + TcpListener slaveClient = new(new IPAddress(new byte[] { 127, 0, 0, 1 }), 502); + using ModbusTcpSlave slave = ModbusTcpSlave.CreateTcp((byte)1, slaveClient); StartSlave(slave); IPAddress address = new(new byte[] { 127, 0, 0, 1 }); - TcpClient? masterClient = new(address.ToString(), 502); + TcpClient masterClient = new(address.ToString(), 502); - using ModbusIpMaster? master = ModbusIpMaster.CreateIp(masterClient); + using ModbusIpMaster master = ModbusIpMaster.CreateIp(masterClient); ReadRegisters(master); } public static void Udp() { - UdpClient? slaveClient = new(502); - using ModbusUdpSlave? slave = ModbusUdpSlave.CreateUdp(slaveClient); + UdpClient slaveClient = new(502); + using ModbusUdpSlave slave = ModbusUdpSlave.CreateUdp(slaveClient); StartSlave(slave); - UdpClient? masterClient = new(); + UdpClient masterClient = new(); IPEndPoint endPoint = new(new IPAddress(new byte[] { 127, 0, 0, 1 }), 502); masterClient.Connect(endPoint); - using ModbusIpMaster? master = ModbusIpMaster.CreateIp(masterClient); + using ModbusIpMaster master = ModbusIpMaster.CreateIp(masterClient); ReadRegisters(master); } public static void StartSlave(ModbusSlave slave) { slave.DataStore = DataStoreFactory.CreateTestDataStore(); - Thread? slaveThread = new(async () => await slave.ListenAsync()); + Thread slaveThread = new(async () => await slave.ListenAsync()); slaveThread.Start(); } diff --git a/NModbus4.UnitTests/Data/BoolModbusDataCollectionFixture.cs b/NModbus4.UnitTests/Data/BoolModbusDataCollectionFixture.cs index e1f6a5e..0053727 100644 --- a/NModbus4.UnitTests/Data/BoolModbusDataCollectionFixture.cs +++ b/NModbus4.UnitTests/Data/BoolModbusDataCollectionFixture.cs @@ -10,7 +10,7 @@ public class BoolModbusDataCollectionFixture : ModbusDataCollectionFixture public void Remove_FromReadOnly() { bool[] source = { false, false, false, true, false, false }; - ModbusDataCollection? col = new(new ReadOnlyCollection(source)); + ModbusDataCollection col = new(new ReadOnlyCollection(source)); int expectedCount = source.Length; Assert.True(col.Remove(source[3])); diff --git a/NModbus4.UnitTests/Data/DataStoreEventArgsFixture.cs b/NModbus4.UnitTests/Data/DataStoreEventArgsFixture.cs index b07c455..386741d 100644 --- a/NModbus4.UnitTests/Data/DataStoreEventArgsFixture.cs +++ b/NModbus4.UnitTests/Data/DataStoreEventArgsFixture.cs @@ -10,7 +10,7 @@ public class DataStoreEventArgsFixture [Fact] public void CreateDataStoreEventArgs() { - DataStoreEventArgs? eventArgs = DataStoreEventArgs.CreateDataStoreEventArgs(5, ModbusDataType.HoldingRegister, + DataStoreEventArgs eventArgs = DataStoreEventArgs.CreateDataStoreEventArgs(5, ModbusDataType.HoldingRegister, new ushort[] { 1, 2, 3 }); Assert.Equal(ModbusDataType.HoldingRegister, eventArgs.ModbusDataType); Assert.Equal(5, eventArgs.StartAddress); diff --git a/NModbus4.UnitTests/Data/DiscreteCollectionFixture.cs b/NModbus4.UnitTests/Data/DiscreteCollectionFixture.cs index da66904..c3a6c83 100644 --- a/NModbus4.UnitTests/Data/DiscreteCollectionFixture.cs +++ b/NModbus4.UnitTests/Data/DiscreteCollectionFixture.cs @@ -48,11 +48,11 @@ public void CreateNewDiscreteCollectionFromBytesParams() { DiscreteCollection col = new(1, 2, 3); Assert.Equal(24, col.Count); - bool[]? expected = new bool[] + bool[] expected = new bool[] { - true, false, false, false, false, false, false, false, - false, true, false, false, false, false, false, false, - true, true, false, false, false, false, false, false, + true, false, false, false, false, false, false, false, + false, true, false, false, false, false, false, false, + true, true, false, false, false, false, false, false, }; Assert.Equal(expected, col); diff --git a/NModbus4.UnitTests/Data/ModbusDataCollectionFixture.cs b/NModbus4.UnitTests/Data/ModbusDataCollectionFixture.cs index 056a8c5..0bd2712 100644 --- a/NModbus4.UnitTests/Data/ModbusDataCollectionFixture.cs +++ b/NModbus4.UnitTests/Data/ModbusDataCollectionFixture.cs @@ -11,7 +11,7 @@ public abstract class ModbusDataCollectionFixture [Fact] public void DefaultContstructor() { - ModbusDataCollection? col = new(); + ModbusDataCollection col = new(); Assert.NotEmpty(col); Assert.Single(col); @@ -23,7 +23,7 @@ public void DefaultContstructor() public void ContstructorWithParams() { TData[] source = GetArray(); - ModbusDataCollection? col = new(source); + ModbusDataCollection col = new(source); Assert.Equal(source.Length + 1, col.Count); Assert.NotEmpty(col); @@ -37,7 +37,7 @@ public void ContstructorWithIList() List source = GetList(); int expectedCount = source.Count; - ModbusDataCollection? col = new(source); + ModbusDataCollection col = new(source); Assert.Equal(expectedCount + 1, source.Count); Assert.Equal(expectedCount + 1, col.Count); @@ -50,10 +50,10 @@ public void ContstructorWithIList() public void ContstructorWithIList_FromReadOnlyList() { List source = GetList(); - ReadOnlyCollection? readOnly = new(source); + ReadOnlyCollection readOnly = new(source); int expectedCount = source.Count; - ModbusDataCollection? col = new(readOnly); + ModbusDataCollection col = new(readOnly); Assert.Equal(expectedCount, source.Count); Assert.Equal(expectedCount + 1, col.Count); @@ -66,7 +66,7 @@ public void ContstructorWithIList_FromReadOnlyList() public void SetZeroElementUsingItem() { TData[]? source = GetArray(); - ModbusDataCollection? col = new(source); + ModbusDataCollection col = new(source); Assert.Throws(() => col[0] = source[3]); } @@ -74,7 +74,7 @@ public void SetZeroElementUsingItem() public void ZeroElementUsingItem_Negative() { TData[]? source = GetArray(); - ModbusDataCollection? col = new(source); + ModbusDataCollection col = new(source); Assert.Throws(() => col[0] = source[3]); Assert.Throws(() => col.Insert(0, source[3])); @@ -87,7 +87,7 @@ public void ZeroElementUsingItem_Negative() [Fact] public void Clear() { - ModbusDataCollection? col = new(GetArray()); + ModbusDataCollection col = new(GetArray()); col.Clear(); Assert.Single(col); @@ -97,7 +97,7 @@ public void Clear() public void Remove() { List source = GetList(); - ModbusDataCollection? col = new(source); + ModbusDataCollection col = new(source); int expectedCount = source.Count - 1; Assert.True(col.Remove(source[3])); diff --git a/NModbus4.UnitTests/Data/UshortModbusDataCollectionFixture.cs b/NModbus4.UnitTests/Data/UshortModbusDataCollectionFixture.cs index 07b638a..721d931 100644 --- a/NModbus4.UnitTests/Data/UshortModbusDataCollectionFixture.cs +++ b/NModbus4.UnitTests/Data/UshortModbusDataCollectionFixture.cs @@ -10,7 +10,7 @@ public class UshortModbusDataCollectionFixture : ModbusDataCollectionFixture? col = new(new ReadOnlyCollection(source)); + ModbusDataCollection col = new(new ReadOnlyCollection(source)); int expectedCount = source.Length; Assert.False(col.Remove(GetNonExistentElement())); diff --git a/NModbus4.UnitTests/Device/ModbusSlaveFixture.cs b/NModbus4.UnitTests/Device/ModbusSlaveFixture.cs index f72b45b..e8d553f 100644 --- a/NModbus4.UnitTests/Device/ModbusSlaveFixture.cs +++ b/NModbus4.UnitTests/Device/ModbusSlaveFixture.cs @@ -156,7 +156,7 @@ public void WriteMultipCoils_MakeSureWeDoNotWriteRemainder() // 0, false initialized data store DataStore? dataStore = DataStoreFactory.CreateDefaultDataStore(); - WriteMultipleCoilsRequest? request = new(1, 0, + WriteMultipleCoilsRequest request = new(1, 0, new DiscreteCollection(Enumerable.Repeat(true, 8).ToArray())) { NumberOfPoints = 2 }; ModbusSlave.WriteMultipleCoils(request, dataStore, dataStore.CoilDiscretes); diff --git a/NModbus4.UnitTests/Device/TcpConnectionEventArgsFixture.cs b/NModbus4.UnitTests/Device/TcpConnectionEventArgsFixture.cs index cdda0f3..22f2f2b 100644 --- a/NModbus4.UnitTests/Device/TcpConnectionEventArgsFixture.cs +++ b/NModbus4.UnitTests/Device/TcpConnectionEventArgsFixture.cs @@ -17,7 +17,7 @@ public void TcpConnectionEventArgs_EmptyEndPoint() => [Fact] public void TcpConnectionEventArgs() { - TcpConnectionEventArgs? args = new("foo"); + TcpConnectionEventArgs args = new("foo"); Assert.Equal("foo", args.EndPoint); } diff --git a/NModbus4.UnitTests/IO/EmptyTransportFixture.cs b/NModbus4.UnitTests/IO/EmptyTransportFixture.cs index e03c12c..18c8f38 100644 --- a/NModbus4.UnitTests/IO/EmptyTransportFixture.cs +++ b/NModbus4.UnitTests/IO/EmptyTransportFixture.cs @@ -10,7 +10,7 @@ public static class EmptyTransportFixture [Fact] public static void Negative() { - EmptyTransport? transport = new(); + EmptyTransport transport = new(); Assert.Throws(() => transport.ReadRequest()); Assert.Throws(() => transport.ReadResponse()); Assert.Throws(() => transport.BuildMessageFrame(null)); diff --git a/NModbus4.UnitTests/IO/ModbusAsciiTransportFixture.cs b/NModbus4.UnitTests/IO/ModbusAsciiTransportFixture.cs index 9a8237f..e6faf9e 100644 --- a/NModbus4.UnitTests/IO/ModbusAsciiTransportFixture.cs +++ b/NModbus4.UnitTests/IO/ModbusAsciiTransportFixture.cs @@ -15,8 +15,8 @@ public class ModbusAsciiTransportFixture public void BuildMessageFrame() { byte[] expected = { 58, 48, 50, 48, 49, 48, 48, 48, 48, 48, 48, 48, 49, 70, 67, 13, 10 }; - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 2, 0, 1); - byte[]? actual = new ModbusAsciiTransport(StreamResource) + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 2, 0, 1); + byte[] actual = new ModbusAsciiTransport(StreamResource) .BuildMessageFrame(request); Assert.Equal(expected, actual); @@ -25,9 +25,9 @@ public void BuildMessageFrame() [Fact] public void ReadRequestResponse() { - Mock? mock = new(MockBehavior.Strict); + Mock mock = new(MockBehavior.Strict); IStreamResource stream = mock.Object; - ModbusAsciiTransport? transport = new(stream); + ModbusAsciiTransport transport = new(stream); int calls = 0; byte[] bytes = Encoding.ASCII.GetBytes(":110100130025B6\r\n"); @@ -45,9 +45,9 @@ public void ReadRequestResponse() [Fact] public void ReadRequestResponseNotEnoughBytes() { - Mock? mock = new(MockBehavior.Strict); + Mock mock = new(MockBehavior.Strict); IStreamResource stream = mock.Object; - ModbusAsciiTransport? transport = new(stream); + ModbusAsciiTransport transport = new(stream); int calls = 0; byte[] bytes = Encoding.ASCII.GetBytes(":10\r\n"); @@ -65,8 +65,8 @@ public void ReadRequestResponseNotEnoughBytes() [Fact] public void ChecksumsMatchSucceed() { - ModbusAsciiTransport? transport = new(StreamResource); - ReadCoilsInputsRequest? message = new(Modbus.ReadCoils, 17, 19, 37); + ModbusAsciiTransport transport = new(StreamResource); + ReadCoilsInputsRequest message = new(Modbus.ReadCoils, 17, 19, 37); byte[] frame = { 17, Modbus.ReadCoils, 0, 19, 0, 37, 182 }; Assert.True(transport.ChecksumsMatch(message, frame)); @@ -75,8 +75,8 @@ public void ChecksumsMatchSucceed() [Fact] public void ChecksumsMatchFail() { - ModbusAsciiTransport? transport = new(StreamResource); - ReadCoilsInputsRequest? message = new(Modbus.ReadCoils, 17, 19, 37); + ModbusAsciiTransport transport = new(StreamResource); + ReadCoilsInputsRequest message = new(Modbus.ReadCoils, 17, 19, 37); byte[] frame = { 17, Modbus.ReadCoils, 0, 19, 0, 37, 181 }; Assert.False(transport.ChecksumsMatch(message, frame)); diff --git a/NModbus4.UnitTests/IO/ModbusRtuTransportFixture.cs b/NModbus4.UnitTests/IO/ModbusRtuTransportFixture.cs index 1803fad..cf06ebe 100644 --- a/NModbus4.UnitTests/IO/ModbusRtuTransportFixture.cs +++ b/NModbus4.UnitTests/IO/ModbusRtuTransportFixture.cs @@ -18,8 +18,8 @@ public class ModbusRtuTransportFixture public void BuildMessageFrame() { byte[] message = { 17, Modbus.ReadCoils, 0, 19, 0, 37, 14, 132 }; - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 17, 19, 37); - ModbusRtuTransport? transport = new(StreamResource); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 17, 19, 37); + ModbusRtuTransport transport = new(StreamResource); Assert.Equal(message, transport.BuildMessageFrame(request)); } @@ -104,8 +104,8 @@ public void RequestBytesToReadInvalidFunctionCode() [Fact] public void ChecksumsMatchSucceed() { - ModbusRtuTransport? transport = new(StreamResource); - ReadCoilsInputsRequest? message = new(Modbus.ReadCoils, 17, 19, 37); + ModbusRtuTransport transport = new(StreamResource); + ReadCoilsInputsRequest message = new(Modbus.ReadCoils, 17, 19, 37); byte[] frame = { 17, Modbus.ReadCoils, 0, 19, 0, 37, 14, 132 }; Assert.True(transport.ChecksumsMatch(message, frame)); @@ -114,8 +114,8 @@ public void ChecksumsMatchSucceed() [Fact] public void ChecksumsMatchFail() { - ModbusRtuTransport? transport = new(StreamResource); - ReadCoilsInputsRequest? message = new(Modbus.ReadCoils, 17, 19, 38); + ModbusRtuTransport transport = new(StreamResource); + ReadCoilsInputsRequest message = new(Modbus.ReadCoils, 17, 19, 38); byte[] frame = { 17, Modbus.ReadCoils, 0, 19, 0, 37, 14, 132 }; Assert.False(transport.ChecksumsMatch(message, frame)); @@ -124,8 +124,8 @@ public void ChecksumsMatchFail() [Fact] public void ReadResponse() { - Mock? mock = new(StreamResource) { CallBase = true }; - ModbusRtuTransport? transport = mock.Object; + Mock mock = new(StreamResource) { CallBase = true }; + ModbusRtuTransport transport = mock.Object; mock.Setup(t => t.Read(ModbusRtuTransport.ResponseFrameStartLength)).Returns(new byte[] { 1, 1, 1, 0 }); mock.Setup(t => t.Read(2)).Returns(new byte[] { 81, 136 }); @@ -133,7 +133,7 @@ public void ReadResponse() IModbusMessage? response = transport.ReadResponse(); Assert.IsType(response); - ReadCoilsInputsResponse? expectedResponse = new(Modbus.ReadCoils, 1, 1, new DiscreteCollection(false)); + ReadCoilsInputsResponse expectedResponse = new(Modbus.ReadCoils, 1, 1, new DiscreteCollection(false)); Assert.Equal(expectedResponse.MessageFrame, response.MessageFrame); mock.VerifyAll(); @@ -142,8 +142,8 @@ public void ReadResponse() [Fact] public void ReadResponseSlaveException() { - Mock? mock = new(StreamResource) { CallBase = true }; - ModbusRtuTransport? transport = mock.Object; + Mock mock = new(StreamResource) { CallBase = true }; + ModbusRtuTransport transport = mock.Object; byte[] messageFrame = { 0x01, 0x81, 0x02 }; byte[] crc = ModbusUtility.CalculateCrc(messageFrame); @@ -157,7 +157,7 @@ public void ReadResponseSlaveException() IModbusMessage? response = transport.ReadResponse(); Assert.IsType(response); - SlaveExceptionResponse? expectedResponse = new(0x01, 0x81, 0x02); + SlaveExceptionResponse expectedResponse = new(0x01, 0x81, 0x02); Assert.Equal(expectedResponse.MessageFrame, response.MessageFrame); mock.VerifyAll(); @@ -170,8 +170,8 @@ public void ReadResponseSlaveException() [Fact] public void ReadResponseSlaveExceptionWithErroneousLrc() { - Mock? mock = new(StreamResource) { CallBase = true }; - ModbusRtuTransport? transport = mock.Object; + Mock mock = new(StreamResource) { CallBase = true }; + ModbusRtuTransport transport = mock.Object; byte[] messageFrame = { 0x01, 0x81, 0x02 }; @@ -192,8 +192,8 @@ public void ReadResponseSlaveExceptionWithErroneousLrc() [Fact] public void ReadRequest() { - Mock? mock = new(StreamResource) { CallBase = true }; - ModbusRtuTransport? transport = mock.Object; + Mock mock = new(StreamResource) { CallBase = true }; + ModbusRtuTransport transport = mock.Object; mock.Setup(t => t.Read(ModbusRtuTransport.RequestFrameStartLength)) .Returns(new byte[] { 1, 1, 1, 0, 1, 0, 0 }); @@ -209,7 +209,7 @@ public void ReadRequest() [Fact] public void Read() { - Mock? mock = new(MockBehavior.Strict); + Mock mock = new(MockBehavior.Strict); mock.Setup(s => s.Read(It.Is(x => x.Length == 5), 0, 5)) .Returns((byte[] buf, int offset, int count) => diff --git a/NModbus4.UnitTests/IO/ModbusSerialTransportFixture.cs b/NModbus4.UnitTests/IO/ModbusSerialTransportFixture.cs index cc8833b..64c79da 100644 --- a/NModbus4.UnitTests/IO/ModbusSerialTransportFixture.cs +++ b/NModbus4.UnitTests/IO/ModbusSerialTransportFixture.cs @@ -17,8 +17,8 @@ public class ModbusSerialTransportFixture [Fact] public void CreateResponse() { - ModbusAsciiTransport? transport = new(StreamResource); - ReadCoilsInputsResponse? expectedResponse = new(Modbus.ReadCoils, 2, 1, new DiscreteCollection(true, false, false, false, false, false, false, true)); + ModbusAsciiTransport transport = new(StreamResource); + ReadCoilsInputsResponse expectedResponse = new(Modbus.ReadCoils, 2, 1, new DiscreteCollection(true, false, false, false, false, false, false, true)); byte lrc = ModbusUtility.CalculateLrc(expectedResponse.MessageFrame); IModbusMessage? response = transport.CreateResponse(new byte[] { 2, Modbus.ReadCoils, 1, 129, lrc }); @@ -29,8 +29,8 @@ public void CreateResponse() [Fact] public void CreateResponseErroneousLrc() { - ModbusAsciiTransport? transport = new(StreamResource) { CheckFrame = true }; - byte[]? frame = new byte[] { 19, Modbus.ReadCoils, 0, 0, 0, 2, 115 }; + ModbusAsciiTransport transport = new(StreamResource) { CheckFrame = true }; + byte[] frame = new byte[] { 19, Modbus.ReadCoils, 0, 0, 0, 2, 115 }; Assert.Throws( () => transport.CreateResponse(frame)); @@ -39,7 +39,7 @@ public void CreateResponseErroneousLrc() [Fact] public void CreateResponseErroneousLrcDoNotCheckFrame() { - ModbusAsciiTransport? transport = new(StreamResource) { CheckFrame = false }; + ModbusAsciiTransport transport = new(StreamResource) { CheckFrame = false }; transport.CreateResponse(new byte[] { 19, Modbus.ReadCoils, 0, 0, 0, 2, 115 }); } @@ -51,9 +51,9 @@ public void CreateResponseErroneousLrcDoNotCheckFrame() [Fact] public void UnicastMessage_PurgeReceiveBuffer() { - Mock? mock = new(MockBehavior.Strict); + Mock mock = new(MockBehavior.Strict); IStreamResource serialResource = mock.Object; - ModbusRtuTransport? transport = new(serialResource); + ModbusRtuTransport transport = new(serialResource); mock.Setup(s => s.DiscardInBuffer()); mock.Setup(s => s.Write(It.IsAny(), 0, 0)); @@ -68,7 +68,7 @@ public void UnicastMessage_PurgeReceiveBuffer() serialResource.Write(null, 0, 0); // normal response - ReadCoilsInputsResponse? response = new(Modbus.ReadCoils, 2, 1, new DiscreteCollection(true, false, true, false, false, false, false, false)); + ReadCoilsInputsResponse response = new(Modbus.ReadCoils, 2, 1, new DiscreteCollection(true, false, true, false, false, false, false, false)); // write request mock.Setup(s => s.Write(It.Is(x => x.Length == 8), 0, 8)); @@ -89,7 +89,7 @@ public void UnicastMessage_PurgeReceiveBuffer() return 2; }); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 2, 3, 4); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 2, 3, 4); ReadCoilsInputsResponse? actualResponse = transport.UnicastMessage(request); ModbusMessageFixture.AssertModbusMessagePropertiesAreEqual(response, actualResponse); diff --git a/NModbus4.UnitTests/IO/ModbusTcpTransportFixture.cs b/NModbus4.UnitTests/IO/ModbusTcpTransportFixture.cs index 0dea14d..fa26bef 100644 --- a/NModbus4.UnitTests/IO/ModbusTcpTransportFixture.cs +++ b/NModbus4.UnitTests/IO/ModbusTcpTransportFixture.cs @@ -17,8 +17,8 @@ public class ModbusTcpTransportFixture [Fact] public void BuildMessageFrame() { - Mock? mock = new(StreamResourceMock) { CallBase = true }; - ReadCoilsInputsRequest? message = new(Modbus.ReadCoils, 2, 10, 5); + Mock mock = new(StreamResourceMock) { CallBase = true }; + ReadCoilsInputsRequest message = new(Modbus.ReadCoils, 2, 10, 5); byte[] result = mock.Object.BuildMessageFrame(message); Assert.Equal(new byte[] { 0, 0, 0, 0, 0, 6, 2, 1, 0, 10, 0, 5 }, result); @@ -28,7 +28,7 @@ public void BuildMessageFrame() [Fact] public void GetMbapHeader() { - WriteMultipleRegistersRequest? message = new(3, 1, MessageUtility.CreateDefaultCollection(0, 120)); + WriteMultipleRegistersRequest message = new(3, 1, MessageUtility.CreateDefaultCollection(0, 120)); message.TransactionId = 45; Assert.Equal(new byte[] { 0, 45, 0, 0, 0, 247, 3 }, ModbusIpTransport.GetMbapHeader(message)); } @@ -36,9 +36,9 @@ public void GetMbapHeader() [Fact] public void Write() { - Mock? streamMock = new(MockBehavior.Strict); - Mock? mock = new(streamMock.Object) { CallBase = true }; - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 3); + Mock streamMock = new(MockBehavior.Strict); + Mock mock = new(streamMock.Object) { CallBase = true }; + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 3); streamMock.Setup(s => s.Write(It.IsNotNull(), 0, 12)); @@ -55,8 +55,8 @@ public void Write() [Fact] public void ReadRequestResponse() { - Mock? mock = new(MockBehavior.Strict); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 3); + Mock mock = new(MockBehavior.Strict); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 3); int calls = 0; byte[][] source = { @@ -81,7 +81,7 @@ public void ReadRequestResponse() [Fact] public void ReadRequestResponse_ConnectionAbortedWhileReadingMBAPHeader() { - Mock? mock = new(MockBehavior.Strict); + Mock mock = new(MockBehavior.Strict); mock.Setup(s => s.Read(It.Is(x => x.Length == 6), 0, 6)).Returns(3); mock.Setup(s => s.Read(It.Is(x => x.Length == 6), 3, 3)).Returns(0); @@ -92,7 +92,7 @@ public void ReadRequestResponse_ConnectionAbortedWhileReadingMBAPHeader() [Fact] public void ReadRequestResponse_ConnectionAbortedWhileReadingMessageFrame() { - Mock? mock = new(MockBehavior.Strict); + Mock mock = new(MockBehavior.Strict); mock.Setup(s => s.Read(It.Is(x => x.Length == 6), 0, 6)).Returns(6); mock.Setup(s => s.Read(It.Is(x => x.Length == 6), 0, 6)).Returns(3); @@ -105,7 +105,7 @@ public void ReadRequestResponse_ConnectionAbortedWhileReadingMessageFrame() [Fact] public void GetNewTransactionId() { - ModbusIpTransport? transport = new(StreamResourceMock); + ModbusIpTransport transport = new(StreamResourceMock); Assert.Equal(1, transport.GetNewTransactionId()); Assert.Equal(2, transport.GetNewTransactionId()); @@ -114,9 +114,9 @@ public void GetNewTransactionId() [Fact] public void OnShouldRetryResponse_ReturnsTrue_IfWithinThreshold() { - ModbusIpTransport? transport = new(StreamResourceMock); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 1); - ReadCoilsInputsResponse? response = new(Modbus.ReadCoils, 1, 1, null); + ModbusIpTransport transport = new(StreamResourceMock); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 1); + ReadCoilsInputsResponse response = new(Modbus.ReadCoils, 1, 1, null); request.TransactionId = 5; response.TransactionId = 4; @@ -128,9 +128,9 @@ public void OnShouldRetryResponse_ReturnsTrue_IfWithinThreshold() [Fact] public void OnShouldRetryResponse_ReturnsFalse_IfThresholdDisabled() { - ModbusIpTransport? transport = new(StreamResourceMock); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 1); - ReadCoilsInputsResponse? response = new(Modbus.ReadCoils, 1, 1, null); + ModbusIpTransport transport = new(StreamResourceMock); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 1); + ReadCoilsInputsResponse response = new(Modbus.ReadCoils, 1, 1, null); request.TransactionId = 5; response.TransactionId = 4; @@ -142,9 +142,9 @@ public void OnShouldRetryResponse_ReturnsFalse_IfThresholdDisabled() [Fact] public void OnShouldRetryResponse_ReturnsFalse_IfEqualTransactionId() { - ModbusIpTransport? transport = new(StreamResourceMock); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 1); - ReadCoilsInputsResponse? response = new(Modbus.ReadCoils, 1, 1, null); + ModbusIpTransport transport = new(StreamResourceMock); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 1); + ReadCoilsInputsResponse response = new(Modbus.ReadCoils, 1, 1, null); request.TransactionId = 5; response.TransactionId = 5; @@ -156,9 +156,9 @@ public void OnShouldRetryResponse_ReturnsFalse_IfEqualTransactionId() [Fact] public void OnShouldRetryResponse_ReturnsFalse_IfOutsideThreshold() { - ModbusIpTransport? transport = new(StreamResourceMock); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 1); - ReadCoilsInputsResponse? response = new(Modbus.ReadCoils, 1, 1, null); + ModbusIpTransport transport = new(StreamResourceMock); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 1); + ReadCoilsInputsResponse response = new(Modbus.ReadCoils, 1, 1, null); request.TransactionId = 5; response.TransactionId = 2; @@ -170,11 +170,11 @@ public void OnShouldRetryResponse_ReturnsFalse_IfOutsideThreshold() [Fact] public void ValidateResponse_MismatchingTransactionIds() { - ModbusIpTransport? transport = new(StreamResourceMock); + ModbusIpTransport transport = new(StreamResourceMock); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 1); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 1); request.TransactionId = 5; - ReadCoilsInputsResponse? response = new(Modbus.ReadCoils, 1, 1, null); + ReadCoilsInputsResponse response = new(Modbus.ReadCoils, 1, 1, null); response.TransactionId = 6; Assert.Throws(() => transport.ValidateResponse(request, response)); @@ -183,11 +183,11 @@ public void ValidateResponse_MismatchingTransactionIds() [Fact] public void ValidateResponse() { - ModbusIpTransport? transport = new(StreamResourceMock); + ModbusIpTransport transport = new(StreamResourceMock); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 1, 1, 1); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 1, 1, 1); request.TransactionId = 5; - ReadCoilsInputsResponse? response = new(Modbus.ReadCoils, 1, 1, null); + ReadCoilsInputsResponse response = new(Modbus.ReadCoils, 1, 1, null); response.TransactionId = 5; // no exception is thrown diff --git a/NModbus4.UnitTests/IO/ModbusTransportFixture.cs b/NModbus4.UnitTests/IO/ModbusTransportFixture.cs index 74db3f8..92c9e8d 100644 --- a/NModbus4.UnitTests/IO/ModbusTransportFixture.cs +++ b/NModbus4.UnitTests/IO/ModbusTransportFixture.cs @@ -15,12 +15,12 @@ public class ModbusTransportFixture [Fact] public void Dispose_MultipleTimes_ShouldNotThrow() { - Mock? streamMock = new(MockBehavior.Strict); + Mock streamMock = new(MockBehavior.Strict); streamMock.Setup(s => s.Dispose()); - Mock? mock = new(streamMock.Object) { CallBase = true }; + Mock mock = new(streamMock.Object) { CallBase = true }; - using ModbusTransport? transport = mock.Object; + using ModbusTransport transport = mock.Object; Assert.NotNull(transport.StreamResource); transport.Dispose(); Assert.Null(transport.StreamResource); @@ -31,12 +31,12 @@ public void ReadWriteTimeouts() { const int expectedReadTimeout = 42; const int expectedWriteTimeout = 33; - Mock? mock = new(MockBehavior.Strict); + Mock mock = new(MockBehavior.Strict); mock.SetupProperty(s => s.ReadTimeout, expectedReadTimeout); mock.SetupProperty(s => s.WriteTimeout, expectedWriteTimeout); - ModbusTransport? transport = new Mock(MockBehavior.Strict, mock.Object) { CallBase = true }.Object; + ModbusTransport transport = new Mock(MockBehavior.Strict, mock.Object) { CallBase = true }.Object; Assert.Equal(expectedReadTimeout, transport.ReadTimeout); Assert.Equal(expectedWriteTimeout, transport.WriteTimeout); @@ -54,8 +54,8 @@ public void ReadWriteTimeouts() [Fact] public void WaitToRetryMilliseconds() { - Mock? mock = new(MockBehavior.Strict) { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new(MockBehavior.Strict) { CallBase = true }; + ModbusTransport transport = mock.Object; Assert.Equal(Modbus.DefaultWaitToRetryMilliseconds, transport.WaitToRetryMilliseconds); @@ -69,18 +69,18 @@ public void WaitToRetryMilliseconds() [Fact] public void UnicastMessage() { - DiscreteCollection? data = new(true, false, true, false, false, false, false, false); - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + DiscreteCollection data = new(true, false, true, false, false, false, false, false); + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; mock.Setup(t => t.Write(It.IsNotNull())); mock.Setup(t => t.ReadResponse()) .Returns(new ReadCoilsInputsResponse(Modbus.ReadCoils, 2, 1, data)); mock.Setup(t => t.OnValidateResponse(It.IsNotNull(), It.IsNotNull())); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 2, 3, 4); - ReadCoilsInputsResponse? expectedResponse = new(Modbus.ReadCoils, 2, 1, data); - ReadCoilsInputsResponse? response = transport.UnicastMessage(request); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 2, 3, 4); + ReadCoilsInputsResponse expectedResponse = new(Modbus.ReadCoils, 2, 1, data); + ReadCoilsInputsResponse response = transport.UnicastMessage(request); Assert.Equal(expectedResponse.MessageFrame, response.MessageFrame); mock.VerifyAll(); @@ -89,9 +89,9 @@ public void UnicastMessage() [Fact] public void UnicastMessage_WrongResponseFunctionCode() { - ReadCoilsInputsRequest? request = new(Modbus.ReadInputs, 2, 3, 4); - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + ReadCoilsInputsRequest request = new(Modbus.ReadInputs, 2, 3, 4); + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; int writeCallsCount = 0; int readResponseCallsCount = 0; @@ -111,9 +111,9 @@ public void UnicastMessage_WrongResponseFunctionCode() [Fact] public void UnicastMessage_ErrorSlaveException() { - Mock? mock = new() { CallBase = true }; - ReadCoilsInputsRequest? request = new(Modbus.ReadInputs, 2, 3, 4); - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ReadCoilsInputsRequest request = new(Modbus.ReadInputs, 2, 3, 4); + ModbusTransport transport = mock.Object; mock.Setup(t => t.Write(It.IsNotNull())); mock.Setup(t => t.ReadResponse()).Throws(); @@ -129,8 +129,8 @@ public void UnicastMessage_ErrorSlaveException() [Fact] public void UnicastMessage_AcknowlegeSlaveException() { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; int callsCount = 0; // set the wait to retry property to a small value so the test completes quickly @@ -153,9 +153,9 @@ public void UnicastMessage_AcknowlegeSlaveException() mock.Setup(t => t.OnValidateResponse(It.IsNotNull(), It.IsNotNull())); - ReadHoldingInputRegistersRequest? request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); - ReadHoldingInputRegistersResponse? expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); - ReadHoldingInputRegistersResponse? response = transport.UnicastMessage(request); + ReadHoldingInputRegistersRequest request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); + ReadHoldingInputRegistersResponse expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); + ReadHoldingInputRegistersResponse response = transport.UnicastMessage(request); Assert.Equal(transport.Retries + 1, callsCount); Assert.Equal(expectedResponse.MessageFrame, response.MessageFrame); @@ -168,8 +168,8 @@ public void UnicastMessage_AcknowlegeSlaveException() [Fact] public void UnicastMessage_SlaveDeviceBusySlaveException() { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; int writeCallsCount = 0; int readResponseCallsCount = 0; @@ -196,9 +196,9 @@ public void UnicastMessage_SlaveDeviceBusySlaveException() mock.Setup(t => t.OnValidateResponse(It.IsNotNull(), It.IsNotNull())); - ReadHoldingInputRegistersRequest? request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); - ReadHoldingInputRegistersResponse? expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); - ReadHoldingInputRegistersResponse? response = transport.UnicastMessage(request); + ReadHoldingInputRegistersRequest request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); + ReadHoldingInputRegistersResponse expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); + ReadHoldingInputRegistersResponse response = transport.UnicastMessage(request); Assert.Equal(2, writeCallsCount); Assert.Equal(2, readResponseCallsCount); @@ -213,8 +213,8 @@ public void UnicastMessage_SlaveDeviceBusySlaveException() [Fact] public void UnicastMessage_SlaveDeviceBusySlaveExceptionDoesNotFailAfterExceedingRetries() { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; int writeCallsCount = 0; int readResponseCallsCount = 0; @@ -239,9 +239,9 @@ public void UnicastMessage_SlaveDeviceBusySlaveExceptionDoesNotFailAfterExceedin mock.Setup(t => t.OnValidateResponse(It.IsNotNull(), It.IsNotNull())); - ReadHoldingInputRegistersRequest? request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); - ReadHoldingInputRegistersResponse? expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); - ReadHoldingInputRegistersResponse? response = transport.UnicastMessage(request); + ReadHoldingInputRegistersRequest request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); + ReadHoldingInputRegistersResponse expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); + ReadHoldingInputRegistersResponse response = transport.UnicastMessage(request); Assert.Equal(transport.Retries + 1, writeCallsCount); Assert.Equal(transport.Retries + 1, readResponseCallsCount); @@ -289,8 +289,8 @@ public void UnicastMessage_SlaveDeviceBusySlaveExceptionDoesNotFailAfterExceedin [InlineData(typeof(FormatException))] public void UnicastMessage_TooManyFailingExceptions(Type exceptionType) { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; int writeCallsCount = 0; int readResponseCallsCount = 0; @@ -301,7 +301,7 @@ public void UnicastMessage_TooManyFailingExceptions(Type exceptionType) .Callback(() => ++readResponseCallsCount) .Throws((Exception)Activator.CreateInstance(exceptionType)); - ReadCoilsInputsRequest? request = new(Modbus.ReadCoils, 2, 3, 4); + ReadCoilsInputsRequest request = new(Modbus.ReadCoils, 2, 3, 4); Assert.Throws(exceptionType, () => transport.UnicastMessage(request)); Assert.Equal(transport.Retries + 1, writeCallsCount); @@ -312,8 +312,8 @@ public void UnicastMessage_TooManyFailingExceptions(Type exceptionType) [Fact] public void UnicastMessage_TimeoutException() { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; int writeCallsCount = 0; int readResponseCallsCount = 0; @@ -324,7 +324,7 @@ public void UnicastMessage_TimeoutException() .Callback(() => ++readResponseCallsCount) .Throws(); - ReadCoilsInputsRequest? request = new(Modbus.ReadInputs, 2, 3, 4); + ReadCoilsInputsRequest request = new(Modbus.ReadInputs, 2, 3, 4); Assert.Throws(() => transport.UnicastMessage(request)); Assert.Equal(Modbus.DefaultRetries + 1, writeCallsCount); Assert.Equal(Modbus.DefaultRetries + 1, readResponseCallsCount); @@ -334,8 +334,8 @@ public void UnicastMessage_TimeoutException() [Fact] public void UnicastMessage_Retries() { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; int writeCallsCount = 0; int readResponseCallsCount = 0; @@ -347,7 +347,7 @@ public void UnicastMessage_Retries() .Callback(() => ++readResponseCallsCount) .Throws(); - ReadCoilsInputsRequest? request = new(Modbus.ReadInputs, 2, 3, 4); + ReadCoilsInputsRequest request = new(Modbus.ReadInputs, 2, 3, 4); Assert.Throws(() => transport.UnicastMessage(request)); Assert.Equal(transport.Retries + 1, writeCallsCount); @@ -358,9 +358,9 @@ public void UnicastMessage_Retries() [Fact] public void UnicastMessage_ReReads_IfShouldRetryReturnTrue() { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; - ReadHoldingInputRegistersResponse? expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; + ReadHoldingInputRegistersResponse expectedResponse = new(Modbus.ReadHoldingRegisters, 1, new RegisterCollection(1)); int readResponseCallsCount = 0; int onShouldRetryResponseCallsCount = 0; bool[] expectedReturn = { true, false }; @@ -379,8 +379,8 @@ public void UnicastMessage_ReReads_IfShouldRetryReturnTrue() .Returns(expectedResponse) .Callback(() => ++readResponseCallsCount); - ReadHoldingInputRegistersRequest? request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); - ReadHoldingInputRegistersResponse? response = transport.UnicastMessage(request); + ReadHoldingInputRegistersRequest request = new(Modbus.ReadHoldingRegisters, 1, 1, 1); + ReadHoldingInputRegistersResponse response = transport.UnicastMessage(request); Assert.Equal(2, readResponseCallsCount); Assert.Equal(2, onShouldRetryResponseCallsCount); @@ -391,20 +391,20 @@ public void UnicastMessage_ReReads_IfShouldRetryReturnTrue() [Fact] public void CreateResponse_SlaveException() { - Mock? mock = new() { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new() { CallBase = true }; + ModbusTransport transport = mock.Object; byte[] frame = { 2, 129, 2 }; byte lrc = ModbusUtility.CalculateLrc(frame); - IModbusMessage? message = transport.CreateResponse(Enumerable.Concat(frame, new byte[] { lrc }).ToArray()); + IModbusMessage message = transport.CreateResponse(Enumerable.Concat(frame, new byte[] { lrc }).ToArray()); Assert.IsType(message); } [Fact] public void ShouldRetryResponse_ReturnsFalse_IfDifferentMessage() { - Mock? mock = new(MockBehavior.Strict) { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new(MockBehavior.Strict) { CallBase = true }; + ModbusTransport transport = mock.Object; IModbusMessage request = new ReadCoilsInputsRequest(Modbus.ReadCoils, 2, 1, 1); IModbusMessage response = new ReadCoilsInputsResponse(Modbus.ReadCoils, 1, 1, null); @@ -415,8 +415,8 @@ public void ShouldRetryResponse_ReturnsFalse_IfDifferentMessage() [Fact] public void ValidateResponse_MismatchingFunctionCodes() { - Mock? mock = new(MockBehavior.Strict) { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new(MockBehavior.Strict) { CallBase = true }; + ModbusTransport transport = mock.Object; IModbusMessage request = new ReadCoilsInputsRequest(Modbus.ReadCoils, 1, 1, 1); IModbusMessage response = new ReadHoldingInputRegistersResponse(Modbus.ReadHoldingRegisters, 1, new RegisterCollection()); @@ -427,8 +427,8 @@ public void ValidateResponse_MismatchingFunctionCodes() [Fact] public void ValidateResponse_MismatchingSlaveAddress() { - Mock? mock = new(MockBehavior.Strict) { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new(MockBehavior.Strict) { CallBase = true }; + ModbusTransport transport = mock.Object; IModbusMessage request = new ReadCoilsInputsRequest(Modbus.ReadCoils, 42, 1, 1); IModbusMessage response = new ReadHoldingInputRegistersResponse(Modbus.ReadCoils, 33, new RegisterCollection()); @@ -439,8 +439,8 @@ public void ValidateResponse_MismatchingSlaveAddress() [Fact] public void ValidateResponse_CallsOnValidateResponse() { - Mock? mock = new(MockBehavior.Strict) { CallBase = true }; - ModbusTransport? transport = mock.Object; + Mock mock = new(MockBehavior.Strict) { CallBase = true }; + ModbusTransport transport = mock.Object; mock.Setup(t => t.OnValidateResponse(It.IsNotNull(), It.IsNotNull())); diff --git a/NModbus4.UnitTests/IO/UdpClientAdapterFixture.cs b/NModbus4.UnitTests/IO/UdpClientAdapterFixture.cs index 6b4709e..f289ba0 100644 --- a/NModbus4.UnitTests/IO/UdpClientAdapterFixture.cs +++ b/NModbus4.UnitTests/IO/UdpClientAdapterFixture.cs @@ -10,7 +10,7 @@ public class UdpClientAdapterFixture [Fact] public void Read_ArgumentValidation() { - UdpClientAdapter? adapter = new(new UdpClient()); + UdpClientAdapter adapter = new(new UdpClient()); // buffer Assert.Throws(() => adapter.Read(null, 1, 1)); @@ -26,7 +26,7 @@ public void Read_ArgumentValidation() [Fact] public void Write_ArgumentValidation() { - UdpClientAdapter? adapter = new(new UdpClient()); + UdpClientAdapter adapter = new(new UdpClient()); // buffer Assert.Throws(() => adapter.Write(null, 1, 1)); diff --git a/NModbus4.UnitTests/InvalidModbusRequestExceptionFixture.cs b/NModbus4.UnitTests/InvalidModbusRequestExceptionFixture.cs index df0bc32..22c6131 100644 --- a/NModbus4.UnitTests/InvalidModbusRequestExceptionFixture.cs +++ b/NModbus4.UnitTests/InvalidModbusRequestExceptionFixture.cs @@ -8,7 +8,7 @@ public class InvalidModbusRequestExceptionFixture [Fact] public void ConstructorWithExceptionCode() { - InvalidModbusRequestException? e = new(Modbus.SlaveDeviceBusy); + InvalidModbusRequestException e = new(Modbus.SlaveDeviceBusy); Assert.Equal($"Modbus exception code {Modbus.SlaveDeviceBusy}.", e.Message); Assert.Equal(Modbus.SlaveDeviceBusy, e.ExceptionCode); Assert.Null(e.InnerException); @@ -17,8 +17,8 @@ public void ConstructorWithExceptionCode() [Fact] public void ConstructorWithExceptionCodeAndInnerException() { - IOException? inner = new("Bar"); - InvalidModbusRequestException? e = new(42, inner); + IOException inner = new("Bar"); + InvalidModbusRequestException e = new(42, inner); Assert.Equal("Modbus exception code 42.", e.Message); Assert.Equal(42, e.ExceptionCode); Assert.Same(inner, e.InnerException); @@ -27,7 +27,7 @@ public void ConstructorWithExceptionCodeAndInnerException() [Fact] public void ConstructorWithMessageAndExceptionCode() { - InvalidModbusRequestException? e = new("Hello World", Modbus.IllegalFunction); + InvalidModbusRequestException e = new("Hello World", Modbus.IllegalFunction); Assert.Equal("Hello World", e.Message); Assert.Equal(Modbus.IllegalFunction, e.ExceptionCode); Assert.Null(e.InnerException); @@ -36,8 +36,8 @@ public void ConstructorWithMessageAndExceptionCode() [Fact] public void ConstructorWithCustomMessageAndSlaveExceptionResponse() { - IOException? inner = new("Bar"); - InvalidModbusRequestException? e = new("Hello World", Modbus.IllegalDataAddress, inner); + IOException inner = new("Bar"); + InvalidModbusRequestException e = new("Hello World", Modbus.IllegalDataAddress, inner); Assert.Equal("Hello World", e.Message); Assert.Equal(Modbus.IllegalDataAddress, e.ExceptionCode); Assert.Same(inner, e.InnerException); diff --git a/NModbus4.UnitTests/Message/ModbusMessageFixture.cs b/NModbus4.UnitTests/Message/ModbusMessageFixture.cs index 2f372fb..2e48426 100644 --- a/NModbus4.UnitTests/Message/ModbusMessageFixture.cs +++ b/NModbus4.UnitTests/Message/ModbusMessageFixture.cs @@ -27,7 +27,7 @@ public void MessageFrameReadCoilsRequest() [Fact] public void ModbusMessageToStringOverriden() { - System.Collections.Generic.IEnumerable? messageTypes = from message in typeof(AbstractModbusMessage).GetTypeInfo().Assembly.GetTypes() + System.Collections.Generic.IEnumerable messageTypes = from message in typeof(AbstractModbusMessage).GetTypeInfo().Assembly.GetTypes() let typeInfo = message.GetTypeInfo() where !typeInfo.IsAbstract && typeInfo.IsSubclassOf(typeof(AbstractModbusMessage)) select message; diff --git a/NModbus4.UnitTests/Message/WriteMultipleCoilsResponseFixture.cs b/NModbus4.UnitTests/Message/WriteMultipleCoilsResponseFixture.cs index 4f3259c..dc137e1 100644 --- a/NModbus4.UnitTests/Message/WriteMultipleCoilsResponseFixture.cs +++ b/NModbus4.UnitTests/Message/WriteMultipleCoilsResponseFixture.cs @@ -30,7 +30,7 @@ public void CreateWriteMultipleCoilsResponseMaxSize() [Fact] public void ToString_Test() { - WriteMultipleCoilsResponse? response = new(1, 2, 3); + WriteMultipleCoilsResponse response = new(1, 2, 3); Assert.Equal("Wrote 3 coils starting at address 2.", response.ToString()); } diff --git a/NModbus4.UnitTests/Message/WriteMultipleRegistersResponseFixture.cs b/NModbus4.UnitTests/Message/WriteMultipleRegistersResponseFixture.cs index dca49de..03d5140 100644 --- a/NModbus4.UnitTests/Message/WriteMultipleRegistersResponseFixture.cs +++ b/NModbus4.UnitTests/Message/WriteMultipleRegistersResponseFixture.cs @@ -30,7 +30,7 @@ public void CreateWriteMultipleRegistersResponseMaxSize() [Fact] public void ToString_Test() { - WriteMultipleRegistersResponse? response = new(1, 2, 3); + WriteMultipleRegistersResponse response = new(1, 2, 3); Assert.Equal("Wrote 3 holding registers starting at address 2.", response.ToString()); } diff --git a/NModbus4.UnitTests/Message/WriteSingleCoilRequestResponseFixture.cs b/NModbus4.UnitTests/Message/WriteSingleCoilRequestResponseFixture.cs index 84e91c4..6c482f3 100644 --- a/NModbus4.UnitTests/Message/WriteSingleCoilRequestResponseFixture.cs +++ b/NModbus4.UnitTests/Message/WriteSingleCoilRequestResponseFixture.cs @@ -18,7 +18,7 @@ public void NewWriteSingleCoilRequestResponse() [Fact] public void ToString_True() { - WriteSingleCoilRequestResponse? request = new(11, 5, true); + WriteSingleCoilRequestResponse request = new(11, 5, true); Assert.Equal("Write single coil 1 at address 5.", request.ToString()); } @@ -26,7 +26,7 @@ public void ToString_True() [Fact] public void ToString_False() { - WriteSingleCoilRequestResponse? request = new(11, 5, false); + WriteSingleCoilRequestResponse request = new(11, 5, false); Assert.Equal("Write single coil 0 at address 5.", request.ToString()); } diff --git a/NModbus4.UnitTests/SlaveExceptionFixture.cs b/NModbus4.UnitTests/SlaveExceptionFixture.cs index a1748af..3a29ae4 100644 --- a/NModbus4.UnitTests/SlaveExceptionFixture.cs +++ b/NModbus4.UnitTests/SlaveExceptionFixture.cs @@ -10,7 +10,7 @@ public class SlaveExceptionFixture [Fact] public void EmptyConstructor() { - SlaveException? e = new(); + SlaveException e = new(); Assert.Equal($"Exception of type '{typeof(SlaveException).FullName}' was thrown.", e.Message); Assert.Equal(0, e.SlaveAddress); Assert.Equal(0, e.FunctionCode); @@ -21,7 +21,7 @@ public void EmptyConstructor() [Fact] public void ConstructorWithMessage() { - SlaveException? e = new("Hello World"); + SlaveException e = new("Hello World"); Assert.Equal("Hello World", e.Message); Assert.Equal(0, e.SlaveAddress); Assert.Equal(0, e.FunctionCode); @@ -32,8 +32,8 @@ public void ConstructorWithMessage() [Fact] public void ConstructorWithMessageAndInnerException() { - IOException? inner = new("Bar"); - SlaveException? e = new("Foo", inner); + IOException inner = new("Bar"); + SlaveException e = new("Foo", inner); Assert.Equal("Foo", e.Message); Assert.Same(inner, e.InnerException); Assert.Equal(0, e.SlaveAddress); @@ -44,8 +44,8 @@ public void ConstructorWithMessageAndInnerException() [Fact] public void ConstructorWithSlaveExceptionResponse() { - SlaveExceptionResponse? response = new(12, Modbus.ReadCoils, 1); - SlaveException? e = new(response); + SlaveExceptionResponse response = new(12, Modbus.ReadCoils, 1); + SlaveException e = new(response); Assert.Equal(12, e.SlaveAddress); Assert.Equal(Modbus.ReadCoils, e.FunctionCode); @@ -60,9 +60,9 @@ public void ConstructorWithSlaveExceptionResponse() [Fact] public void ConstructorWithCustomMessageAndSlaveExceptionResponse() { - SlaveExceptionResponse? response = new(12, Modbus.ReadCoils, 2); + SlaveExceptionResponse response = new(12, Modbus.ReadCoils, 2); string customMessage = "custom message"; - SlaveException? e = new(customMessage, response); + SlaveException e = new(customMessage, response); Assert.Equal(12, e.SlaveAddress); Assert.Equal(Modbus.ReadCoils, e.FunctionCode); diff --git a/NModbus4.UnitTests/Utility/DiscriminatedUnionFixture.cs b/NModbus4.UnitTests/Utility/DiscriminatedUnionFixture.cs index c956179..e748abc 100644 --- a/NModbus4.UnitTests/Utility/DiscriminatedUnionFixture.cs +++ b/NModbus4.UnitTests/Utility/DiscriminatedUnionFixture.cs @@ -9,7 +9,7 @@ public class DiscriminatedUnionFixture [Fact] public void DiscriminatedUnion_CreateA() { - DiscriminatedUnion? du = DiscriminatedUnion.CreateA("foo"); + DiscriminatedUnion du = DiscriminatedUnion.CreateA("foo"); Assert.Equal(DiscriminatedUnionOption.A, du.Option); Assert.Equal("foo", du.A); } @@ -17,7 +17,7 @@ public void DiscriminatedUnion_CreateA() [Fact] public void DiscriminatedUnion_CreateB() { - DiscriminatedUnion? du = DiscriminatedUnion.CreateB("foo"); + DiscriminatedUnion du = DiscriminatedUnion.CreateB("foo"); Assert.Equal(DiscriminatedUnionOption.B, du.Option); Assert.Equal("foo", du.B); } @@ -25,7 +25,7 @@ public void DiscriminatedUnion_CreateB() [Fact] public void DiscriminatedUnion_AllowNulls() { - DiscriminatedUnion? du = DiscriminatedUnion.CreateB(null); + DiscriminatedUnion du = DiscriminatedUnion.CreateB(null); Assert.Equal(DiscriminatedUnionOption.B, du.Option); Assert.Null(du.B); } @@ -33,21 +33,21 @@ public void DiscriminatedUnion_AllowNulls() [Fact] public void AccessInvalidOption_A() { - DiscriminatedUnion? du = DiscriminatedUnion.CreateB("foo"); + DiscriminatedUnion du = DiscriminatedUnion.CreateB("foo"); Assert.Throws(() => du.A.ToString()); } [Fact] public void AccessInvalidOption_B() { - DiscriminatedUnion? du = DiscriminatedUnion.CreateA("foo"); + DiscriminatedUnion du = DiscriminatedUnion.CreateA("foo"); Assert.Throws(() => du.B.ToString()); } [Fact] public void DiscriminatedUnion_ToString() { - DiscriminatedUnion? du = DiscriminatedUnion.CreateA("foo"); + DiscriminatedUnion du = DiscriminatedUnion.CreateA("foo"); Assert.Equal("foo", du.ToString()); } } \ No newline at end of file