コード例 #1
0
        public void LinkTwoNodes_Test()
        {
            Engine  engine  = new Engine();
            CheckIn checkIn = new CheckIn()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            DropOff dropOff = new DropOff()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            MPA      mpa  = new MPA();
            DateTime date = new DateTime(2019, 6, 9, 14, 56, 0);

            Conveyor conveyor = new Conveyor(5, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };

            Conveyor conveyor2 = new Conveyor(5, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            Settings set = new Settings();

            engine.LinkTwoNodes(checkIn, conveyor);
            engine.LinkTwoNodes(conveyor, dropOff);

            //Assert.AreEqual(3,set.nextNodes.Count );
        }
コード例 #2
0
        public void Run_Test()
        {
            Engine  engine  = new Engine();
            CheckIn checkIn = new CheckIn()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            DropOff dropOff = new DropOff()
            {
                DestinationGate = 1, Status = BaggageStatus.Free,
            };
            MPA      mpa  = new MPA();
            DateTime date = new DateTime(2019, 6, 9, 16, 40, 0);

            Conveyor conveyor = new Conveyor(1, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };


            engine.AddFlight(date, "bbb", 3, 1);
            engine.AddDispatcher();
            engine.AddCheckIn(checkIn);
            engine.AddConveyorPart(conveyor);

            engine.AddDropOff(dropOff);

            engine.LinkTwoNodes(checkIn, conveyor);
            engine.LinkTwoNodes(conveyor, dropOff);

            engine.Run();

            Assert.AreEqual(1, Convert.ToInt32(dropOff.baggages.Count));
        }
コード例 #3
0
        public void UnloadBaggageTest()
        {
            DropOff        dropOff  = new DropOff();
            List <Baggage> baggages = new List <Baggage>()
            {
                new Baggage(),
                new Baggage(),
                new Baggage(),
                new Baggage(),
                new Baggage(),
                new Baggage(),
                new Baggage(),
                new Baggage(),
                new Baggage(),
                new Baggage()
            };

            dropOff.SetNumberEmployees(1);
            dropOff.baggages = baggages;
            dropOff.UnloadBaggage();

            Thread.Sleep(1000);

            Assert.AreEqual(9, dropOff.baggages.Count);
            Assert.AreEqual(1, dropOff.unloadBaggages.Count);
        }
コード例 #4
0
        public void InitialiseCheckIn()
        {
            DropOff drop    = new DropOff(5, "TestCheckIn");
            CheckIn checkIn = new CheckIn(drop, "CheckIn", 1);

            Assert.IsNotNull(checkIn);
        }
コード例 #5
0
        public void ProcessBaggage_If_Statement()
        {
            Security security = new Security();
            CheckIn  checkIn  = new CheckIn();
            Conveyor conveyor = new Conveyor(5, 4);
            DropOff  dropOff  = new DropOff();

            checkIn.NextNode  = conveyor;
            conveyor.NextNode = security;
            security.NextNode = dropOff;

            List <Baggage> baggages = new List <Baggage>()
            {
                new Baggage()
                {
                    Secure = 2
                },
                new Baggage()
                {
                    Secure = 7
                },
            };

            foreach (Baggage baggage in baggages)
            {
                security.PassBaggage(baggage);
            }


            Assert.AreEqual(2, security.baggageAgainstSecurityPolicy.Count);
        }
コード例 #6
0
        public void ProcessBaggage_Else_Statement()
        {
            Baggage baggage = new Baggage()
            {
                Secure = 6
            };
            Security security = new Security();
            CheckIn  checkIn  = new CheckIn();
            Conveyor conveyor = new Conveyor(5, 6);
            DropOff  dropOff  = new DropOff();

            checkIn.NextNode  = conveyor;
            conveyor.NextNode = security;
            security.NextNode = dropOff;
            int count = 0;

            dropOff.Status = BaggageStatus.Busy;
            security.PassBaggage(baggage);

            if (security.NextNode.OnNodeStatusChangedToFree != null)
            {
                count = security.NextNode.OnNodeStatusChangedToFree.GetInvocationList().Length;
            }

            Assert.AreEqual(1, count);
        }
コード例 #7
0
        public void PassBaggageTest()
        {
            DropOff  dropOff   = new DropOff(5, "Drop1");
            CheckIn  checkIn   = new CheckIn(dropOff, "CheckIn", 1);
            Conveyor conveyor1 = new Conveyor(dropOff, "Conveyor1");

            conveyor1.IsBroken = false;
            Conveyor conveyor2 = new Conveyor(dropOff, "Conveyor2");

            conveyor2.IsBroken = false;

            MainProcessArea mpa = new MainProcessArea("mpa");

            LinkedList     linkedList   = new LinkedList();
            CreateLinkList linkedLinked = new CreateLinkList(linkedList, checkIn, conveyor1, conveyor2, dropOff);
            Passenger      passenger    = new Passenger("TTT", dropOff);
            Baggage        baggage      = new Baggage(dropOff, 5, passenger);

            linkedList.PassBaggage(baggage);

            //Assert.AreEqual(1, checkIn.baggage.Count);
            //Assert.AreEqual(1, conveyor1.baggage.Count);

            //Assert.AreEqual(1, mpa.baggage.Count);
            //Assert.AreEqual(1, conveyor2.baggage.Count);
            Assert.AreEqual(1, dropOff.baggage.Count);
        }
コード例 #8
0
 public void AddDropOff(DropOff dropOff)
 {
     dropOffs.Add(dropOff);
     settings.DropOffsCapacities.Add(dropOff.baggages.Capacity);
     settings.DropOffsEmployees.Add(dropOff.EmployeeSpeed);
     settings.DestGates.Add(dropOff.DestinationGate);
 }
コード例 #9
0
        public void DispatchBaggageIfStatement_Test()
        {
            CheckIn checkIn = new CheckIn();
            DropOff dropOff = new DropOff()
            {
                Status = BaggageStatus.Free, DestinationGate = 1
            };

            checkIn.NextNode = dropOff;
            Procp_Form.Core.CheckInDispatcher checkInDispatcher = new Procp_Form.Core.CheckInDispatcher();
            Flight flight = new Flight(DateTime.Now, "GGG", 0, 1);

            Queue <Baggage> baggageQueue = new Queue <Baggage>();
            Baggage         baggage      = new Baggage();
            Baggage         baggage2     = new Baggage();

            baggageQueue.Enqueue(baggage);
            baggageQueue.Enqueue(baggage2);
            checkInDispatcher.checkins.Add(checkIn);
            checkInDispatcher.checkinQueues.Add(baggageQueue);

            checkInDispatcher.DispatchBaggage(flight);

            Assert.AreEqual(1, flight.BaggageDispatched);
        }
コード例 #10
0
 public void PlayerArrivedAtDeliveryLocation(DropOff _questLocation)
 {
     if (_questLocation.gameObject == currentQuest && ((playerHasQuest && playerHasDelivery) || playerHasBossQuest && playerHasBossDelivery))
     {
         countdownTimerIsActive = false;
         //playerUIManager.RunDialogSystem(_questLocation.GetComponent<DialogSystem>().GetRandomQuestDialog(), PlayerUIManager.QuestStatus.END);
     }
 }
コード例 #11
0
        public void ConveyorInitialisation()
        {
            DropOff  drop = new DropOff(5, "Drop1");
            Conveyor conv = new Conveyor(drop, "Conv1");

            conv.Number = 0;

            Assert.AreEqual(conv.Number, 0);
        }
コード例 #12
0
        public void PassBaggageTest()
        {
            DropOff   drop      = new DropOff(5, "TestCheckIn");
            CheckIn   checkIn   = new CheckIn(drop, "CheckIn", 1);
            Passenger passenger = new Passenger("111", drop);
            Baggage   baggage   = new Baggage(drop, 50, passenger);

            checkIn.PassBaggage(baggage);
            Assert.AreEqual(checkIn.baggage.Count, 0);
        }
コード例 #13
0
        public int getNumberOfReservationDays()
        {
            int daysDiff = DropOff.Subtract(PickUp).Days;

            if (daysDiff <= 0)
            {
                throw new BussinessException("The Pick Up day must be greater than the Pick Off day");
            }

            return(daysDiff);
        }
コード例 #14
0
        protected override void DrawTileInfo(Graphics g, RectangleF r, int tileHeight)
        {
            Font    stringFont = new Font("Arial", tileHeight / 3, FontStyle.Bold, GraphicsUnit.Pixel);
            DropOff dropOff    = nodeInGrid as DropOff;
            string  gateId     = Convert.ToString(dropOff.DestinationGate);
            string  baggages   = Convert.ToString(dropOff.baggages.Count());
            string  capacity   = Convert.ToString(dropOff.baggages.Capacity);

            //g.DrawString($"Gate: {gateId}", stringFont, Brushes.Red, r);
            g.DrawString($"Gate: {gateId} - {baggages} / {capacity}", stringFont, Brushes.Red, r);
        }
コード例 #15
0
        public void TestMethod1()
        {
            DropOff         dropOff      = new DropOff(5, "Drop1");
            CheckIn         checkIn      = new CheckIn(dropOff, "CheckIn", 1);
            Conveyor        conveyor1    = new Conveyor(dropOff, "Conveyor1");
            Conveyor        conveyor2    = new Conveyor(dropOff, "Conveyor2");
            MainProcessArea mpa          = new MainProcessArea("mpa");
            LinkedList      linkedList   = new LinkedList();
            CreateLinkList  linkedLinked = new CreateLinkList(linkedList, checkIn, conveyor1, conveyor2, dropOff);

            Assert.IsNotNull(linkedLinked);
        }
コード例 #16
0
        public void CreateDropOffsFromFile()
        {
            dropOffs.Clear();

            foreach (var index in Enumerable.Range(0, settings.DestGates.Count))
            {
                var gate     = settings.DestGates[index];
                var nrEmp    = settings.DropOffsEmployees[index];
                var capacity = settings.DropOffsCapacities[index];
                var drop     = new DropOff();
                dropOffs.Add(drop);
            }
        }
コード例 #17
0
        public void GetLastTest()
        {
            DropOff         dropOff      = new DropOff(5, "Drop1");
            CheckIn         checkIn      = new CheckIn(dropOff, "CheckIn", 1);
            Conveyor        conveyor1    = new Conveyor(dropOff, "Conveyor1");
            Conveyor        conveyor2    = new Conveyor(dropOff, "Conveyor2");
            MainProcessArea mpa          = new MainProcessArea("mpa");
            LinkedList      linkedList   = new LinkedList();
            CreateLinkList  linkedLinked = new CreateLinkList(linkedList, checkIn, conveyor1, conveyor2, dropOff);

            linkedList.GetLast();
            Assert.AreEqual(dropOff, linkedList.GetLast());
        }
コード例 #18
0
        public void Move_If_Statement()
        {
            Baggage  baggage  = new Baggage();
            Conveyor conveyor = new Conveyor(5, 6);
            DropOff  dropOff  = new DropOff();

            conveyor.NextNode = dropOff;
            dropOff.Status    = BaggageStatus.Free;
            conveyor.PassBaggage(baggage);

            Assert.AreEqual(BaggageStatus.Busy, conveyor.Status);
            Assert.AreEqual(conveyor.conveyorBelt[0].Equals(baggage), conveyor.conveyorBelt[0].Equals(baggage));
        }
コード例 #19
0
        public void CanMove_Test()
        {
            Baggage  baggage  = new Baggage();
            Conveyor conveyor = new Conveyor(5, 6);
            DropOff  dropOff  = new DropOff();

            conveyor.NextNode = dropOff;
            dropOff.Status    = BaggageStatus.Busy;

            conveyor.CanMove();

            Assert.IsTrue(conveyor.CanMove());
        }
コード例 #20
0
        public DateTime PickupTime()
        {
            int maxDays = 0;

            foreach (Clothes article in Items)
            {
                if (article.CompleteTime > maxDays)
                {
                    maxDays = article.CompleteTime;
                }
            }
            DateTime pickup = DropOff.AddDays(maxDays);

            return(pickup);
        }
コード例 #21
0
        public void AddLastTest()
        {
            DropOff  dropOff   = new DropOff(5, "Drop1");
            CheckIn  checkIn   = new CheckIn(dropOff, "CheckIn", 1);
            Conveyor conveyor1 = new Conveyor(dropOff, "Conveyor1");
            Conveyor conveyor2 = new Conveyor(dropOff, "Conveyor2");
            Conveyor conveyor3 = new Conveyor(dropOff, " Conveyor3");

            LinkedList     linkedList   = new LinkedList();
            CreateLinkList linkedLinked = new CreateLinkList(linkedList, checkIn, conveyor1, conveyor2, dropOff);

            linkedLinked.LinkList.AddLast(conveyor3);

            Assert.AreEqual(5, linkedLinked.LinkList.PartsInLinkedList);
        }
コード例 #22
0
        public void PassBaggage_Test()
        {
            Baggage  baggage  = new Baggage();
            CheckIn  checkIn  = new CheckIn();
            Conveyor conveyor = new Conveyor(2, 5);
            DropOff  dropOff  = new DropOff();

            checkIn.NextNode  = conveyor;
            conveyor.NextNode = dropOff;

            checkIn.PassBaggage(baggage);

            Assert.AreEqual(BaggageStatus.Free, checkIn.Status);
            Assert.AreEqual(checkIn.baggageInCheckIn, 1);
        }
コード例 #23
0
        public void ProcessBaggage_Else_Statement()
        {
            CheckIn  checkIn  = new CheckIn();
            Conveyor conveyor = new Conveyor(2, 5);
            DropOff  dropOff  = new DropOff();
            int      var      = 0;

            checkIn.NextNode        = conveyor;
            conveyor.NextNode       = dropOff;
            checkIn.NextNode.Status = BaggageStatus.Busy;
            checkIn.ProcessBaggage();
            if (checkIn.NextNode.OnNodeStatusChangedToFree != null)
            {
                var = checkIn.NextNode.OnNodeStatusChangedToFree.GetInvocationList().Length;
            }
            Assert.AreEqual(1, var);
        }
コード例 #24
0
        public void ConveyorPassBaggage()
        {
            DropOff  drop = new DropOff(5, "Drop1");
            Conveyor conv = new Conveyor(drop, "Conv1");

            conv.IsBroken = false;
            Conveyor conv1 = new Conveyor(drop, "Conv2");

            conv1.IsBroken = false;
            Passenger passenger = new Passenger("111", drop);
            Baggage   baggage   = new Baggage(drop, 50, passenger);

            conv.next = conv1;
            conv.PassBaggage(baggage);

            Assert.AreEqual(conv1.baggage.Count, 0);
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: GalinKarafiziev/AirPortal
        static void Main(string[] args)
        {
            DropOff         drop       = new DropOff(5, "drop1");
            CheckIn         check      = new CheckIn(drop, "check1", 4);
            CheckIn         check2     = new CheckIn(drop, "check2", 5);
            Conveyor        conveyorl  = new Conveyor(drop, "convl");
            Conveyor        conveyorl1 = new Conveyor(drop, "convl1");
            Conveyor        conveyorb2 = new Conveyor(drop, "convb");
            Conveyor        conveyorb3 = new Conveyor(drop, "convb1");
            MainProcessArea mpa        = new MainProcessArea("mpa1");

            LinkedList l = new LinkedList();
            LinkedList b = new LinkedList();

            l.AddLast(check);
            l.AddLast(conveyorl);
            //l.AddLast(mpa);
            l.AddLast(conveyorl1);
            l.AddLast(drop);

            b.AddLast(check2);
            b.AddLast(conveyorb2);
            //b.AddLast(mpa);
            b.AddLast(conveyorb3);
            b.AddLast(drop);

            Airport airport = new Airport();



            Baggage x  = new Baggage(drop, 5, new Passenger("bag1", drop));
            Baggage xy = new Baggage(drop, 6, new Passenger("bag2", drop));

            l.PassBaggage(x);
            b.PassBaggage(xy);
            //Console.WriteLine(l.first.Name);
            //Console.WriteLine(l.first.Name);

            //l.printAllNodes();

            Console.ReadKey();
        }
コード例 #26
0
        public void ProcessBaggage_If_Else_Statement()
        {
            Baggage baggage = new Baggage()
            {
                Secure = 6
            };

            Security security = new Security();
            CheckIn  checkIn  = new CheckIn();
            Conveyor conveyor = new Conveyor(5, 6);
            DropOff  dropOff  = new DropOff();

            checkIn.NextNode  = conveyor;
            conveyor.NextNode = security;
            security.NextNode = dropOff;

            security.PassBaggage(baggage);

            Assert.AreEqual(BaggageStatus.Free, security.Status);
        }
コード例 #27
0
        public void AddNextNode_Test()
        {
            DropOff  drop     = new DropOff();
            MPA      mpa      = new MPA();
            Conveyor conveyor = new Conveyor(5, 6)
            {
                DestinationGate = 1
            };
            Conveyor conveyor2 = new Conveyor(5, 6)
            {
                DestinationGate = 1
            };
            Conveyor conveyor3 = new Conveyor(5, 6)
            {
                DestinationGate = 1
            };

            mpa.AddNextNode(conveyor);
            mpa.AddNextNode(conveyor2);
            mpa.AddNextNode(conveyor3);
            Assert.AreEqual(3, mpa.nextNodes.Count);
        }
        public IDropOff CreateDropoff(int nodeId)
        {
            ValidateSettings();
            var dropoff = new DropOff(nodeId.ToString(), _timerService, _settings.DropOffSettings);

            Nodes.Add(dropoff);
            //var sortedFlights = _settings.Flights.OrderBy(f => f.DipartureTime);
            //foreach (var flight in sortedFlights)
            //{
            //    if (dropoff.Flight != null)
            //    {
            //        continue;
            //    }
            //    if (flight.HasDropOff == true)
            //    {
            //        continue;
            //    }
            //    dropoff.AssignFlight(flight);
            //    flight.HasDropOff = true;
            //}
            return(dropoff);
        }
コード例 #29
0
        public void Stop_Test()
        {
            Engine  engine  = new Engine();
            CheckIn checkIn = new CheckIn()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            DropOff dropOff = new DropOff()
            {
                DestinationGate = 1, Status = BaggageStatus.Free,
            };
            MPA      mpa  = new MPA();
            DateTime date = new DateTime(2019, 6, 9, 16, 40, 0);

            Conveyor conveyor = new Conveyor(1, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };


            engine.AddFlight(date, "bbb", 3, 1);
            engine.AddDispatcher();
            engine.AddCheckIn(checkIn);
            engine.AddConveyorPart(conveyor);

            engine.AddDropOff(dropOff);

            engine.LinkTwoNodes(checkIn, conveyor);
            engine.LinkTwoNodes(conveyor, dropOff);

            engine.Run();
            engine.Stop();
            //works with other components as well
            Assert.AreEqual(BaggageStatus.Free, conveyor.Status);
            Assert.AreEqual(BaggageStatus.Free, checkIn.Status);
            Assert.AreEqual(BaggageStatus.Free, dropOff.Status);
        }
コード例 #30
0
        public void Resume_Test()
        {
            Engine  engine  = new Engine();
            CheckIn checkIn = new CheckIn()
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };
            DropOff dropOff = new DropOff()
            {
                DestinationGate = 1, Status = BaggageStatus.Free,
            };
            MPA      mpa  = new MPA();
            DateTime date = new DateTime(2019, 6, 9, 16, 40, 0);

            Conveyor conveyor = new Conveyor(1, 1000)
            {
                DestinationGate = 1, Status = BaggageStatus.Free
            };


            engine.AddFlight(date, "bbb", 3, 1);
            engine.AddDispatcher();
            engine.AddCheckIn(checkIn);
            engine.AddConveyorPart(conveyor);

            engine.AddDropOff(dropOff);

            engine.LinkTwoNodes(checkIn, conveyor);
            engine.LinkTwoNodes(conveyor, dropOff);

            engine.Run();

            engine.Pause();
            engine.Resume();
            Assert.IsTrue(conveyor.timer.Enabled);
            Assert.IsTrue(engine.dispatcher.timers[0].Enabled);
        }