Exemplo n.º 1
0
        public async void WriteBitAsync_Should_Return_Value_On_Correct_Data(MemoryType memoryType, string address, params byte[] data)
        {
            //Arrange
            var connector = new EthernetConnector(new TcpSocket("127.0.0.1", 10623));

            using var mockServer = new MockServer(new TcpServer(10623));
            mockServer.Start();

            //Act
            mockServer.Mock.Send("").Receive(x =>
            {
                var response = new List <byte>();
                response.AddRange(Encoding.ASCII.GetBytes("KDT_PLC_S"));
                response.Add((byte)(x[9] + 128));
                response.Add(0x41);
                response.Add(0);
                response.AddRange(new byte[] { 0, 2, 0, 0 });
                response.AddRange(response.Sum(x => x).ToDualByte());
                return(response.ToArray());
            });
            var result = await connector.WriteBitAsync(memoryType, address, data);

            mockServer.Stop();

            //Assert
            Assert.Equal(ResponseCode.Success, result);
        }
Exemplo n.º 2
0
        public async void ReadWordAsync_Should_Return_Value_On_Correct_Data(MemoryType memoryType, string address, int length)
        {
            //Arrange
            var connector = new EthernetConnector(new TcpSocket("127.0.0.1", 10620));

            using var mockServer = new MockServer(new TcpServer(10620));
            mockServer.Start();

            //Act
            mockServer.Mock.Send("").Receive(x =>
            {
                var response = new List <byte>();
                response.AddRange(Encoding.ASCII.GetBytes("KDT_PLC_S"));
                response.Add((byte)(x[9] + 128));
                response.Add(x[10]);
                response.Add(0);
                response.AddRange((9 + length * 2).ToDualByte());
                response.AddRange(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 });
                for (var i = 0; i < length; i++)
                {
                    response.AddRange(new byte[] { 1, 1 });
                }
                response.AddRange(response.Sum(x => x).ToDualByte());
                return(response.ToArray());
            });
            var(responseCode, data) = await connector.ReadWordAsync(memoryType, address, length);

            mockServer.Stop();

            //Assert
            Assert.Equal(ResponseCode.Success, responseCode);
            Assert.Equal(length, data.Length);
        }
Exemplo n.º 3
0
        public async void ReadWordAsync_Should_Return_Error_On_Incorrect_Data(MemoryType memoryType, string address, int length)
        {
            //Arrange
            var connector = new EthernetConnector(new TcpSocket("127.0.0.1", 10620));

            //Assert
            await Assert.ThrowsAnyAsync <ArgumentException>(() => connector.ReadWordAsync(memoryType, address, length));
        }
Exemplo n.º 4
0
        public async void Connect_Should_Return_Error_On_Incorrect_Data(int readTimeout, int writeTimeout, int pingTimeout)
        {
            //Arrange
            var connector = new EthernetConnector(new TcpSocket("127.0.0.1", 10620));

            //Assert
            await Assert.ThrowsAnyAsync <ArgumentOutOfRangeException>(() => connector.Connect(readTimeout, writeTimeout, pingTimeout));
        }
Exemplo n.º 5
0
        public async void WriteBitAsync_Should_Return_Error_On_Incorrect_Data(MemoryType memoryType, string address, params byte[] data)
        {
            //Arrange
            var connector = new EthernetConnector(new TcpSocket("127.0.0.1", 10623));

            //Assert
            await Assert.ThrowsAnyAsync <ArgumentException>(() => connector.WriteBitAsync(memoryType, address, data));
        }
Exemplo n.º 6
0
        public async void Connect_Should_Return_Connected_On_Valid_Data(int readTimeout, int writeTimeout, int pingTimeout)
        {
            //Arrange
            var connector = new EthernetConnector(new TcpSocket("127.0.0.1", 10619));

            using var mockServer = new MockServer(new TcpServer(10619));
            mockServer.Start();

            //Act
            var result = await connector.Connect(readTimeout, writeTimeout, pingTimeout);

            mockServer.Stop();
            //Assert
            Assert.Equal(ConnectionStatus.Connected, result);
        }
Exemplo n.º 7
0
 private void DisconnectEthernetController(object sender, RoutedEventArgs e)
 {
     controller.Dispose();
     controller             = null;
     vm.ControllerConnected = false;
 }
Exemplo n.º 8
0
 private void ConnectEthernetController(object sender, RoutedEventArgs e)
 {
     controller             = new EthernetConnector(vm.IPAddr);
     vm.ControllerConnected = true;
 }