public void PlannerComboTest()
        {
            PlannerCombine ComboTest = new PlannerCombine(5.21, 0.3621, 60);

            Assert.AreEqual(ComboTest.ftlTrucks, 2);
            Assert.AreEqual(ComboTest.ltlPallets, 8);

            ComboTest = new PlannerCombine(5.21, 0.3621, 40);
            Assert.AreEqual(ComboTest.ftlTrucks, 2);
            Assert.AreEqual(ComboTest.ltlPallets, 0);
        }
        public Dictionary <uint, List <TripLogic> > contractTrip(CitiesData[] cities)
        {
            int ftlp = 0;
            int ltlp = 0;


            foreach (Contract c in lc)
            {
                List <TripLogic> tripLogics = new List <TripLogic>();

                if (c.Quantity == 0)
                {
                    TripLogic logic = new TripLogic(c.Quantity, (int)c.Origin, (int)c.Destination, listOfCities);
                    tripLogics.Add(logic);
                }
                else
                {
                    PlannerCombine combine = new PlannerCombine(c.Carrier.FTLRate, c.Carrier.LTLRate, c.Quantity);
                    while ((ftlp > 0) || (ltlp > 0))
                    {
                        if (ftlp > 0)
                        {
                            TripLogic newLogic = new TripLogic(0, (int)c.Origin, (int)c.Destination, listOfCities);
                            tripLogics.Add(newLogic);
                            ftlp--;
                        }
                        else
                        {
                            if (ltlp > MAX_LOAD)
                            {
                                TripLogic moreLogic = new TripLogic(MAX_LOAD, (int)c.Origin, (int)c.Destination, listOfCities);
                                tripLogics.Add(moreLogic);
                                ltlp -= MAX_LOAD;
                            }
                            else
                            {
                                TripLogic moreLogic = new TripLogic(ltlp, (int)c.Origin, (int)c.Destination, listOfCities);
                                tripLogics.Add(moreLogic);
                                ltlp = 0;
                            }
                        }
                    }

                    contractTripDictionary.Add(c.ContractID, tripLogics);
                }

                ftlp = 0;
                ltlp = 0;
            }

            return(contractTripDictionary);
        }