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); } }
/// <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); }
public PersonSteps() { var driverFactory = new Driver.Driver(); Driver = driverFactory.GetRemoteDriver(); mainPage = new AgeRangerMainPage(Driver); }
/// <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]; } }
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" }); }
/// <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)); }
/// <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); }
/// <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); }
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); } }
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); } }
/// <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); }
public async Task UpdateLocation(Shipment.Shipment item, Driver.Driver driver) { }
/// <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); }
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); }