Dreamine.FullKit.Tests 1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
InMemoryPlcMemoryTests.cs
이 파일의 문서화 페이지로 가기
1using Dreamine.PLC.Abstractions.Devices;
2using Dreamine.PLC.Core.Memory;
3
5
14public sealed class InMemoryPlcMemoryTests
15{
24 [Fact]
26 {
27 var memory = new InMemoryPlcMemory();
28 var address = new PlcAddress(PlcDeviceType.D, 100);
29
30 var write = memory.WriteWords(address, new short[] { 10, 20, 30 });
31 var read = memory.ReadWords(new PlcAddress(PlcDeviceType.D, 101), 2);
32
33 Assert.True(write.IsSuccess);
34 Assert.True(read.IsSuccess);
35 Assert.Equal(new short[] { 20, 30 }, read.Value);
36 }
37
46 [Fact]
48 {
49 var memory = new InMemoryPlcMemory();
50 var address = new PlcAddress(PlcDeviceType.M, 0);
51
52 var write = memory.WriteBits(address, new[] { true, false, true });
53 var read = memory.ReadBits(new PlcAddress(PlcDeviceType.M, 0), 4);
54
55 Assert.True(write.IsSuccess);
56 Assert.True(read.IsSuccess);
57 Assert.Equal(new[] { true, false, true, false }, read.Value);
58 }
59
68 [Fact]
70 {
71 var memory = new InMemoryPlcMemory();
72
73 memory.WriteWords(new PlcAddress(PlcDeviceType.D, 0), new short[] { 7 });
74 memory.WriteBits(new PlcAddress(PlcDeviceType.M, 0), new[] { true });
75
76 memory.Clear();
77
78 Assert.Equal(new short[] { 0 }, memory.ReadWords(new PlcAddress(PlcDeviceType.D, 0), 1).Value);
79 Assert.Equal(new[] { false }, memory.ReadBits(new PlcAddress(PlcDeviceType.M, 0), 1).Value);
80 }
81
90 [Fact]
92 {
93 var memory = new InMemoryPlcMemory();
94 var address = new PlcAddress(PlcDeviceType.D, 0);
95
96 Assert.False(memory.ReadWords(address, 0).IsSuccess);
97 Assert.False(memory.ReadBits(address, 0).IsSuccess);
98 Assert.False(memory.WriteWords(address, Array.Empty<short>()).IsSuccess);
99 Assert.False(memory.WriteBits(address, Array.Empty<bool>()).IsSuccess);
100 }
101}