public void InvallidPortTest()
    {
        var localIp        = GetLocalIPAddress();
        var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >());

        _ = Assert.ThrowsException <ArgumentException>(() => ethernetClient.ConnectTo(localIp, -1, System.Net.Sockets.ProtocolType.Tcp));
    }
    public async Task ReceiveDataTestAsync()
    {
        var localIp        = GetLocalIPAddress();
        var testMessage    = "this is a test message";
        var ethernetServer = new EthernetServer(Mock.Of <ILogger <EthernetServer> >(), Mock.Of <ILogger <EthernetConnection> >());

        ethernetServer.Open(localIp, 300, System.Net.Sockets.ProtocolType.Tcp);
        var subscription = ethernetServer.SessionStream.Where(x => x.IsConnected).Delay(TimeSpan.FromSeconds(1)).Subscribe(x => x.Value?.Send(testMessage));

        var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >());

        ethernetClient.ConnectTo(localIp, 300, System.Net.Sockets.ProtocolType.Tcp);
        var first = await ethernetClient.ReceivedDataStream.Timeout(TimeSpan.FromSeconds(2)).FirstAsync();

        Assert.AreEqual(testMessage, first.Message);
    }
    public async Task ClientConnectTestAsync()
    {
        var localIp        = GetLocalIPAddress();
        var ethernetServer = new EthernetServer(Mock.Of <ILogger <EthernetServer> >(), Mock.Of <ILogger <EthernetConnection> >());

        ethernetServer.Open(localIp, 100, System.Net.Sockets.ProtocolType.Tcp);

        var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >());

        ethernetClient.ConnectTo(localIp, 100, System.Net.Sockets.ProtocolType.Tcp);

        await Task.Delay(100);

        Assert.IsTrue(ethernetClient.IsConnected);
        Assert.IsTrue(ethernetServer.ListClients.Count() == 1);
    }
Example #4
0
        /// <summary>
        /// 측기 수정 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataMng_onUpdateWDeviceEvt(object sender, UpdateWDeviceEventArgs e)
        {
            if (e.WD.EthernetUse)
            {
                EthernetClient tmpE = this.dataMng.getEthernetClient(e.WD.ID);

                if (tmpE.Client == null || tmpE.ID == string.Empty || !tmpE.Client.Connected)
                {
                    this.WeatherListView.Items[e.WD.PKID.ToString()].StateImageIndex = 0;
                }
                else
                {
                    this.WeatherListView.Items[e.WD.PKID.ToString()].StateImageIndex = 1;
                }
            }
            else
            {
                this.WeatherListView.Items[e.WD.PKID.ToString()].StateImageIndex = NotUseIcon;
            }

            this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[2].Text = this.dataMng.GetTypeDevice(e.WD.TypeDevice).Name;
            this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[3].Text = e.WD.ID;
            this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[4].Text = e.WD.Name;
            this.WeatherListView.Items[e.WD.PKID.ToString()].SubItems[5].Text = e.WD.CellNumber;

            if (this.WeatherListView.SelectedItems.Count == 1)
            {
                if (this.WeatherListView.SelectedItems[0].Name == e.WD.PKID.ToString())
                {
                    this.WeatherListView.Items[e.WD.PKID.ToString()].Selected = false;
                    this.WeatherListView.Items[e.WD.PKID.ToString()].Focused  = false;
                    this.WeatherListView.Items[e.WD.PKID.ToString()].Selected = true;
                    this.WeatherListView.Items[e.WD.PKID.ToString()].Focused  = true;
                    this.WeatherListView.Items[e.WD.PKID.ToString()].EnsureVisible();
                }
            }

            this.SetWeatherData(string.Format("{0}의 {1} 측기가 수정되었습니다.", this.dataMng.GetTypeDevice(e.WD.TypeDevice).Name, e.WD.ID));
        }
    public void InvallidIpTest()
    {
        var ethernetClient = new EthernetClient(Mock.Of <ILogger <EthernetClient> >());

        _ = Assert.ThrowsException <ArgumentException>(() => ethernetClient.ConnectTo(string.Empty, 200, System.Net.Sockets.ProtocolType.Tcp));
    }