コード例 #1
0
        public void CanReceiveAllMessageTypes()
        {
            var dbcache = new DbCache();
            var tagMsg  = new UdfTagMsg
            {
                TagId     = 15,
                TagStatus = TagStatus.Inactive
            };
            var posMsg = new UdfPosMsg
            {
                TagId    = 15,
                SectorId = 44
            };
            var secMsg = new UdfSecMsg
            {
                SectorId     = 44,
                SectorStatus = SectorStatus.Ok
            };

            using (var receiver = new DbReceiver(_settings, dbcache))
                using (var sender = new UdfMessageSender(_settings))
                {
                    receiver.Start();

                    sender.Send(tagMsg);
                    sender.Send(posMsg);
                    sender.Send(secMsg);

                    Thread.Sleep(100);

                    Assert.AreEqual(tagMsg.TagStatus, dbcache.GetTagStatus(tagMsg.TagId), "Tag status was not received");
                    Assert.AreEqual(posMsg.SectorId, dbcache.GetTagSector(posMsg.TagId), "Tag's sector is not correct");
                    Assert.AreEqual(secMsg.SectorStatus, dbcache.GetSectorStatus(secMsg.SectorId), "Sector status was not received");
                }
        }
コード例 #2
0
        public void CanReceiveHugeAmountOfMessages()
        {
            var dbcache = new DbCache();
            var tagMsgs = Enumerable.Range(1, 450)
                          .Select(x => new UdfTagMsg
            {
                TagId     = x,
                TagStatus = TagStatus.Ok
            });

            var posMsgs = Enumerable.Range(1, 450)
                          .Select(x => new UdfPosMsg
            {
                TagId    = x,
                SectorId = 44
            });

            var secMsgs = Enumerable.Range(0, 83)
                          .Select(x => new UdfSecMsg
            {
                SectorId     = x,
                SectorStatus = SectorStatus.Ok
            });

            using (var receiver = new DbReceiver(_settings, dbcache))
                using (var sender = new UdfMessageSender(_settings))
                {
                    receiver.Start();

                    foreach (var tagMsg in tagMsgs)
                    {
                        sender.Send(tagMsg);
                    }

                    foreach (var posMsg in posMsgs)
                    {
                        sender.Send(posMsg);
                    }

                    foreach (var secMsg in secMsgs)
                    {
                        sender.Send(secMsg);
                    }

                    Thread.Sleep(1000);

                    foreach (var tagMsg in tagMsgs)
                    {
                        Assert.AreEqual(tagMsg.TagStatus, dbcache.GetTagStatus(tagMsg.TagId), "Tag status was not received");
                    }

                    //Assert.AreEqual(posMsg.SectorId, dbcache.GetTagSector(posMsg.TagId), "Tag's sector is not correct");
                    //Assert.AreEqual(secMsg.SectorStatus, dbcache.GetSectorStatus(secMsg.SectorId), "Sector status was not received");
                }
        }