Beispiel #1
0
        public void AddToBuffer()
        {
            var core = new Mock <ICore>()
                       .SetupProperty(t => t.WaitedPackets, new HashSet <IPacket>());

            var packet = new Mock <IPacket>();

            var route = new BufferRiseRoute(null, 2, new PartnerPacketWaiter());

            route.Route(packet.Object, core.Object);

            Assert.IsTrue(core.Object.WaitedPackets.Contains(packet.Object));
        }
Beispiel #2
0
        public void Route(IPacket packet, ICore core)
        {
            var decomposer = new StructureDecompressor(packet.Data);

            decomposer.SkipHalf();

            var mainLabel   = decomposer.DepackHalf();
            var bufferLabel = decomposer.DepackHalf();

            var mathRoute = new MathFunctionRoute(bufferLabel, decomposer.DepackHalf(), decomposer.DepackHalf(),
                                                  decomposer.DepackHalf(), Waiter);

            var bufferRoute = new BufferRiseRoute(mathRoute, mainLabel, Waiter);

            core.Router.Table.AddRoute(mainLabel, mathRoute);
            core.Router.Table.AddRoute(bufferLabel, bufferRoute);
        }
Beispiel #3
0
        public void CallPartnerRoute()
        {
            var partnerPacket = new Mock <IPacket>().SetupProperty(t => t.Label, 2).Object;

            var core = new Mock <ICore>()
                       .SetupProperty(t => t.WaitedPackets, new HashSet <IPacket> {
                partnerPacket
            });

            var packet = new Mock <IPacket>();

            var partnerCalled = false;
            var partnerRoute  = new Mock <IRoute>();

            partnerRoute
            .Setup(t => t.Route(partnerPacket, core.Object))
            .Callback(() => partnerCalled = true);

            var route = new BufferRiseRoute(partnerRoute.Object, 2, new PartnerPacketWaiter());

            route.Route(packet.Object, core.Object);

            Assert.IsTrue(partnerCalled);
        }