Example #1
0
 private void watcher_Changed(object sender, FileSystemEventArgs ev)//Event Handler function for changes in file
 {
     try
     {
         var SCList = MonitorSCList.Invoke(); //Getting list of Source Control
         int flag   = 0;
         foreach (var item in SCList)         //Checking if changed file is in source control
         {
             if (ev.FullPath.StartsWith(item))
             {
                 flag = 1;
                 break;
             }
         }
         if (flag == 1)
         {
             var result = dLLFilter.FilterDLL(ev.FullPath);//Running filter for valid dll file
             if (result)
             {
                 using (var driver = new Driver.Driver())//Executing Driver funvtion for executing test case
                 {
                     Dictionary <string, string> resultData = driver.ExecuteDriver(ev.FullPath, Directory, errorFetcher);
                     fetcher.Invoke(resultData);//Sending test case data back to the UI
                 }
             }
         }
     }
     catch (Exception e)
     {
         errorFetcher.Invoke(e.Message);
     }
 }
Example #2
0
        /// <summary>
        /// Цена дуги
        /// </summary>
        /// <param name="length">Длина дуги с учетом кожффициента</param>
        /// <param name="driver">Водитель</param>
        /// <returns></returns>
        private double GetPrice(double length, Driver.Driver driver)
        {
            double price = 0.0;

            price += (driver.Car.FuelConsumption / 100) * (length / 1000) * driver.Car.CarFuel.Price;

            //Если нарушитель превысил скорость на улице сполицейским
            if (driver.IsViolateTL && this.Policemen != null && SignMaxSpeed != null)
            {
                double different = driver.Car.Speed - SignMaxSpeed.Count;

                if (different > 19)
                {
                    if (different < 40)
                    {
                        price += this.Policemen.Coeff * 500;
                    }
                    else if (different < 60)
                    {
                        price += this.Policemen.Coeff * 1000;
                    }
                    else if (different < 80)
                    {
                        price += this.Policemen.Coeff * 2000;
                    }
                    else
                    {
                        price += this.Policemen.Coeff * 5000;
                    }
                }
            }

            return(price);
        }
Example #3
0
        public PersonSteps()
        {
            var driverFactory = new Driver.Driver();

            Driver   = driverFactory.GetRemoteDriver();
            mainPage = new AgeRangerMainPage(Driver);
        }
Example #4
0
        /// <summary>
        /// Поиск оптимального маршрута
        ///
        /// Route.Way содержит путь, null, если пути нет
        /// Route.Value - цена маршрута
        /// </summary>
        /// <param name="vertColl">Коллекция вершин</param>
        /// <param name="edgColl">Коллекция дуг</param>
        /// <param name="criterial">Критерий поиска</param>
        /// <param name="driver">Водитель</param>
        public void FindMinLengthWay(Vertexes vertColl, Edges edgColl, Main.Criterial criterial, Driver.Driver driver)
        {
            CurrentDriver = new Driver.Driver(driver.FIO, driver.IsViolateTL, driver.Car);

            long[,] parents;
            long[] IDs;
            long   fromVertex = 0, toVertex = 0;

            for (int i = 0; i < Map.vertexes.GetCountElements(); i++)
            {
                if (Map.vertexes.GetElement(i).ID == Start.ID)
                {
                    fromVertex = i;
                }

                if (Map.vertexes.GetElement(i).ID == End.ID)
                {
                    toVertex = i;
                }
            }
            double[,] matrix = GetMatrixWay(out parents, out IDs, vertColl, edgColl, criterial, driver);
            int size = (int)Math.Sqrt(matrix.Length);

            for (int k = 0; k < size; ++k)
            {
                for (int i = 0; i < size; ++i)
                {
                    for (int j = 0; j < size; ++j)
                    {
                        if (matrix[i, k] < Double.MaxValue && matrix[k, j] < Double.MaxValue && matrix[i, k] + matrix[k, j] < matrix[i, j])
                        {
                            matrix[i, j]  = matrix[i, k] + matrix[k, j];
                            parents[i, j] = parents[k, j];
                        }
                    }
                }
            }

            if (matrix[fromVertex, toVertex] == Double.MaxValue) //Путь не найден
            {
                Way = null;
            }
            else
            {
                Criterial = criterial;

                List <long> wayList = GetWay(fromVertex, toVertex, parents);

                Way = new List <long>(wayList.Count);

                for (int i = 0; i < wayList.Count; i++)
                {
                    Way.Add(IDs[wayList[i]]);
                }

                Value = matrix[fromVertex, toVertex];
            }
        }
Example #5
0
 public async Task UpdateLocation(Shipment.Shipment item, Driver.Driver driver)
 {
     var result = await _pushNotifier.SendMessage($"user-{driver.UserId}",
                                                  "Shipment Tracking Needed",
                                                  "Open to send location.", new NotificationData()
     {
         action       = "SendTrackingInfo",
         shipmentId   = item.Id,
         click_action = "FLUTTER_NOTIFICATION_CLICK"
     });
 }
Example #6
0
 /// <summary>
 /// создает контроллер динамического отображения движения водителя и переключения фаз светофоров
 /// </summary>
 /// <param name="dr"></param>
 public Dynamic(Driver.Driver dr)
 {
     timerTL          = new Timer();
     Drive            = new Point(Map.Way.First().X, Map.Way.First().Y);
     isWait           = false;
     driver           = dr;
     GlobalTime       = 0;
     step             = 0;
     timerTL.Interval = 30;
     timerTL.Tick    += (o, e) => IncGlobalTime(o);
 }
        public WebDriverContext(IObjectContainer container)
        {
            // maybe create a factory...
            //https://stackoverflow.com/questions/4822568/how-do-i-test-multiple-browsers-with-selenium-and-a-single-nunit-suite-and-keep
            //IWebDriver driver = DriverFactory.Create(TestConfig.Browser);

            // delay initialising

            Driver.Driver driver = new Driver.Driver(DriverFactory.Create(TestConfig.Browser, new ReportingSeleniumEventHandler()));
            //Driver driver = new ExtentReportDriver(new Driver());
            container.RegisterInstanceAs(driver);
        }
        public void Should_Throw_ArgumentOutOfRangeException_And_ReturnStartPosition_When_RoverGetsOutOfPlato()
        {
            IPosition startPosition = CurrentFactory.CreateInputObject <IPosition>();

            startPosition.X         = 3;
            startPosition.Y         = 3;
            startPosition.Direction = Direction.East;

            IDriver driver = new Driver.Driver(CurrentPlato, startPosition);

            ICommandList commandLists = CurrentFactory.CreateInputObject <ICommandList>();

            commandLists.AddRange("MMMMMM".Select(p => (CommandType)p).ToArray());

            Assert.Throws <ArgumentOutOfRangeException>(() => driver.Drive(commandLists));
            Assert.IsTrue(startPosition.Equals(driver.CurrentPosition));
        }
Example #9
0
        /// <summary>
        /// Start is called before the first frame
        /// </summary>
        public override void Start()
        {
            base.Start();
            this._rnd = new System.Random();
            //this.SetStartPositions();

            // Get the level from the game driver
            var obj = GameObject.FindGameObjectWithTag("Driver");

            Driver.Driver driver = obj.gameObject.GetComponent <Driver.Driver>();
            this.Level = driver.Level;

            for (int i = 0; i < NumStartPositions; i++)
            {
                this.GenerateBlob();
            }
        }
        public void Should_WorkFine_WhenEverythinkOk_Scenario_2()
        {
            IPosition startPosition = CurrentFactory.CreateInputObject <IPosition>();

            startPosition.X         = 3;
            startPosition.Y         = 3;
            startPosition.Direction = Direction.East;

            IDriver driver = new Driver.Driver(CurrentPlato, startPosition);

            ICommandList commandLists = CurrentFactory.CreateInputObject <ICommandList>();

            commandLists.AddRange("MMRMMRMRRM".Select(p => (CommandType)p).ToArray());


            IPosition lastPosition = driver.Drive(commandLists);

            Assert.AreEqual(lastPosition.X, 5);
            Assert.AreEqual(lastPosition.Y, 1);
            Assert.AreEqual(lastPosition.Direction, Direction.East);
        }
Example #11
0
        /// <summary>
        /// Время дуги
        /// </summary>
        /// <param name="driver">Водитель</param>
        /// <returns></returns>
        public double GetTime(Driver.Driver driver)
        {
            Vertex end = this.EndVertex;
            int    currentTime;
            bool   isGreen;

            //Скорость с учетом типа водителя и знаков
            double price = 0;
            double speed = SignMaxSpeed != null ? SignMaxSpeed.Count : 60;

            speed = driver.IsViolateTL ? driver.Car.Speed : speed;

            //Перевод м/с в км/ч
            speed = speed * 1000 / 3600;

            double time = GetLength(MakeMap.ViewPort.ScaleCoefficient) / speed * Coat.Coeff;

            //Ожидание светофора на дуге
            if (end.TrafficLight != null)
            {
                end.TrafficLight.CurrentTime = new Random().Next(0, end.TrafficLight.GreenSeconds + 1);
                end.TrafficLight.IsGreen     = true;

                currentTime = end.TrafficLight.CurrentTime;
                isGreen     = end.TrafficLight.IsGreen;

                end.TrafficLight.Inc((int)(time * 60 * 60));

                if (!end.TrafficLight.IsGreen)
                {
                    price += end.TrafficLight.RedSeconds - end.TrafficLight.CurrentTime;
                }
                end.TrafficLight.CurrentTime = currentTime;
                end.TrafficLight.IsGreen     = isGreen;
            }

            price += time;

            return(price);
        }
Example #12
0
        public bool Insert(object obj)
        {
            try
            {
                Driver.Driver d = (Driver.Driver)obj;
                new SQLiteCommand(string.Format("Insert into Driver values ('{0}','{1}','{2}')", d.FIO.ToLower(), d.IsViolateTL.ToString(), d.Car.TypeName), DAO.GetConnection()).ExecuteNonQuery();

                List <object> list = new List <object>
                {
                    d.FIO.ToLower(),
                              d.IsViolateTL,
                              d.Car.TypeName
                };
                Driver.Driver.ListDriver.Add(list);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Example #13
0
        public bool Update(object obj, string ID)
        {
            try
            {
                Driver.Driver d = (Driver.Driver)obj;
                new SQLiteCommand(string.Format("UPDATE Driver SET [FIO] = '{0}', [TypeDriver] = '{1}', [Model] = '{2}' where FIO= '{3}'", d.FIO.ToLower(), d.IsViolateTL.ToString(), d.Car.TypeName, ID), DAO.GetConnection()).ExecuteNonQuery();

                var updatedDriver = Driver.Driver.ListDriver.FirstOrDefault(l => l.ElementAt(0).ToString().ToLower().Equals(ID.ToLower()));
                if (updatedDriver != null)
                {
                    updatedDriver[0] = d.FIO.ToLower();
                    updatedDriver[1] = d.IsViolateTL;
                    updatedDriver[2] = d.Car.TypeName;
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Example #14
0
        /// <summary>
        /// Возвращение цены по критерию
        /// </summary>
        /// <param name="criterial">Критерий поиска</param>
        /// <param name="driver">Водитель</param>
        /// <returns></returns>
        internal double GetCriterialValue(Main.Criterial criterial, Driver.Driver driver)
        {
            switch (criterial)
            {
            case Main.Criterial.Length:
            {
                return(GetLength(MakeMap.ViewPort.ScaleCoefficient));
            }

            case Main.Criterial.Price:
            {
                return(GetPrice(GetLength(MakeMap.ViewPort.ScaleCoefficient), driver));
            }

            case Main.Criterial.Time:
            {
                return(GetTime(driver));
            }
            }

            return(0);
        }
Example #15
0
 public async Task UpdateLocation(Shipment.Shipment item, Driver.Driver driver)
 {
 }
Example #16
0
        /// <summary>
        /// Получение матрицы стоимости
        /// </summary>
        /// <param name="parents">Матрица предков</param>
        /// <param name="arrayOfID">Массив ID вершин (для восстановления не по порядку из коллекции)</param>
        /// <param name="vertexes">Коллекция вершин</param>
        /// <param name="edges">Коллекция дуг</param>
        /// <param name="criterial">Критерий поиска</param>
        /// <param name="driver">Водитель</param>
        /// <returns></returns>
        private double[,] GetMatrixWay(out long[,] parents, out long[] arrayOfID, Vertexes vertexes, Edges edges, Main.Criterial criterial, Driver.Driver driver)
        {
            int count = vertexes.GetCountElements();

            double[,] array = new double[count, count];

            parents = new long[count, count];

            arrayOfID = new long[count];

            List <Vertex> vertexList = vertexes.List;

            for (int i = 0; i < count; i++)
            {
                for (int j = 0; j < count; j++)
                {
                    if (i == j)
                    {
                        array[i, j] = 0;
                    }
                    else
                    {
                        Edge edge = GetEdge(vertexList[i], vertexList[j], edges);
                        array[i, j] = (edge != null) ? edge.GetCriterialValue(criterial, driver) : Double.MaxValue; //Текущее значение матрицы = критерий текущей дуги

                        parents[i, j] = i;
                    }
                }
                arrayOfID[i] = vertexList[i].ID;
            }
            return(array);
        }
Example #17
0
        static int Main(string[] args)
        {
            Log.writeLine = WriteLine;
#if DEBUG
            Log.level = LogLevel.TRACE;
#else
            Log.level = LogLevel.INFO;
#endif

            if (args == null || args.Length != 1)
            {
                Log.WriteLine(LogLevel.ERROR, "引数(.mubファイル)1個欲しいよぉ");
                return(-1);
            }
            if (!File.Exists(args[0]))
            {
                Log.WriteLine(LogLevel.ERROR, "ファイルが見つかりません");
                return(-1);
            }



            //SDLとMDSoundのセットアップ
            sdlCbHandle = GCHandle.Alloc(sdlCb);
            sdlCbPtr    = Marshal.GetFunctionPointerForDelegate(sdlCb);
            sdl         = new AudioStream((int)SamplingRate, AudioFormat.Signed16Little, SoundChannel.Stereo, (short)samplingBuffer, sdlCb, null)
            {
                Paused = true
            };
            MDSound.ym2608       ym2608 = new MDSound.ym2608();
            MDSound.MDSound.Chip chip   = new MDSound.MDSound.Chip
            {
                type         = MDSound.MDSound.enmInstrumentType.YM2608,
                ID           = 0,
                Instrument   = ym2608,
                Update       = ym2608.Update,
                Start        = ym2608.Start,
                Stop         = ym2608.Stop,
                Reset        = ym2608.Reset,
                SamplingRate = SamplingRate,
                Clock        = opnaMasterClock,
                Volume       = 0,
                Option       = null
            };
            mds = new MDSound.MDSound(SamplingRate, samplingBuffer, new MDSound.MDSound.Chip[] { chip });



            drv = new Driver.Driver();
            drv.Init(args[0], OPNAWrite);

            List <Tuple <string, string> > tags = drv.GetTags();
            foreach (Tuple <string, string> tag in tags)
            {
                if (tag.Item1 == "")
                {
                    continue;
                }
                Log.WriteLine(LogLevel.INFO, string.Format("{0,-16} : {1}", tag.Item1, tag.Item2));
            }

            drv.StartRendering((int)SamplingRate, (int)opnaMasterClock);
            sdl.Paused = false;
            drv.MSTART(0);

            Log.WriteLine(LogLevel.INFO, "終了する場合は何かキーを押してください");
            Console.ReadKey();

            drv.MSTOP();
            sdl.Paused = true;
            drv.StopRendering();



            return(0);
        }