-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathInvalidModbusRequestExceptionFixture.cs
45 lines (40 loc) · 1.46 KB
/
InvalidModbusRequestExceptionFixture.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System.IO;
using Xunit;
namespace Modbus.UnitTests;
public class InvalidModbusRequestExceptionFixture
{
[Fact]
public void ConstructorWithExceptionCode()
{
InvalidModbusRequestException e = new(Modbus.SlaveDeviceBusy);
Assert.Equal($"Modbus exception code {Modbus.SlaveDeviceBusy}.", e.Message);
Assert.Equal(Modbus.SlaveDeviceBusy, e.ExceptionCode);
Assert.Null(e.InnerException);
}
[Fact]
public void ConstructorWithExceptionCodeAndInnerException()
{
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);
}
[Fact]
public void ConstructorWithMessageAndExceptionCode()
{
InvalidModbusRequestException e = new("Hello World", Modbus.IllegalFunction);
Assert.Equal("Hello World", e.Message);
Assert.Equal(Modbus.IllegalFunction, e.ExceptionCode);
Assert.Null(e.InnerException);
}
[Fact]
public void ConstructorWithCustomMessageAndSlaveExceptionResponse()
{
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);
}
}