public void TestGenericStart() { var task = new ManualTask <int>(); var listener = new TaskListener <int>(); task.StartTask(listener); Assert.IsTrue(listener.IsFinished); Assert.AreEqual(1f, listener.Progress, Delta); Assert.IsTrue(task.DidRun); Assert.IsFalse(task.IsRevoked.Value); Assert.IsTrue(task.IsFinished); Assert.AreEqual(listener, task.Listener); Assert.AreEqual(default(int), listener.Value); task = new ManualTask <int>((t) => t.SetFinished(100)); listener = new TaskListener <int>(); task.StartTask(listener); Assert.IsTrue(listener.IsFinished); Assert.AreEqual(1f, listener.Progress, Delta); Assert.IsTrue(task.DidRun); Assert.IsFalse(task.IsRevoked.Value); Assert.IsTrue(task.IsFinished); Assert.AreEqual(listener, task.Listener); Assert.AreEqual(100, listener.Value); }
public void Test() { var request = new ManualTask <bool>((f) => f.SetFinished(true)); var cacheReq = new CacheRequest <bool>(0, request); Assert.AreEqual(request, cacheReq.Request); Assert.AreEqual(0, cacheReq.Listeners.Count); var listener = cacheReq.Listen(); Assert.IsNotNull(listener); Assert.AreEqual(1, cacheReq.Listeners.Count); Assert.IsFalse(listener.Value); var listener2 = cacheReq.Listen(); Assert.IsNotNull(listener2); Assert.AreEqual(2, cacheReq.Listeners.Count); Assert.IsFalse(listener2.Value); cacheReq.Unlisten(new CacheListener <bool>(0)); Assert.AreEqual(2, cacheReq.Listeners.Count); cacheReq.StartRequest(); Assert.IsTrue(listener.Value); Assert.IsTrue(listener2.Value); }
public void TestStart() { var task = new ManualTask((t) => {}); var listener = new TaskListener(); task.StartTask(listener); Assert.IsFalse(listener.IsFinished); Assert.AreEqual(0f, listener.Progress, Delta); Assert.IsTrue(task.DidRun); Assert.IsFalse(task.IsRevoked.Value); Assert.IsFalse(task.IsFinished); Assert.AreEqual(listener, task.Listener); task.SetProgress(0.25f); Assert.IsFalse(listener.IsFinished); Assert.AreEqual(0.25f, listener.Progress, Delta); Assert.IsTrue(task.DidRun); Assert.IsFalse(task.IsRevoked.Value); Assert.IsFalse(task.IsFinished); Assert.AreEqual(listener, task.Listener); task.SetFinished(); Assert.IsTrue(listener.IsFinished); Assert.AreEqual(1f, listener.Progress, Delta); Assert.IsTrue(task.DidRun); Assert.IsFalse(task.IsRevoked.Value); Assert.IsTrue(task.IsFinished); Assert.AreEqual(listener, task.Listener); }
protected internal override BaseElement ConvertXMLToElement(XMLStreamReader xtr, BpmnModel model) { ManualTask manualTask = new ManualTask(); BpmnXMLUtil.AddXMLLocation(manualTask, xtr); ParseChildElements(XMLElementName, manualTask, model, xtr); return(manualTask); }
public virtual ManualTask CreateManualTask() { var task = new ManualTask(); //task.Tag = new ManualTaskActivityBehavior(); return(task); }
public void TestInitialState() { var task = new ManualTask(); Assert.IsFalse(task.DidRun); Assert.IsFalse(task.IsFinished); Assert.IsFalse(task.IsRevoked.Value); Assert.IsNull(task.Listener); }
public override BaseElement Clone() { ManualTask clone = new ManualTask { Values = this }; return(clone); }
public void CreatePackage(FileBasedProject project, string packageFile) { #region "CreateManualTask" ProjectFile[] packageFiles = project.GetTargetLanguageFiles(new Language(CultureInfo.GetCultureInfo("de-DE"))); ManualTask newTask = project.CreateManualTask( "Translate", "Fred", DateTime.Now.AddDays(3), packageFiles.GetIds()); #endregion #region "CreateProjectPackage" ProjectPackageCreation projectPackage = project.CreateProjectPackage( newTask.Id, "Sample Package", "Please hurry up, this is job is urgent!", GetPackageOptions()); #endregion #region "PackageStatus" bool packageIsCreated = false; while (!packageIsCreated) { switch (projectPackage.Status) { case PackageStatus.Cancelling: case PackageStatus.InProgress: case PackageStatus.Scheduled: case PackageStatus.NotStarted: packageIsCreated = false; break; case PackageStatus.Cancelled: case PackageStatus.Completed: case PackageStatus.Failed: case PackageStatus.Invalid: packageIsCreated = true; break; default: break; } } if (projectPackage.Status != PackageStatus.Completed) { throw new Exception("A problem occurred during package creation."); } #endregion #region "SavePackage" project.SavePackageAs(projectPackage.PackageId, packageFile); #endregion }
public void TestGenericOnFinished() { var task = new ManualTask <int>((t) => t.SetFinished(50)); int value = 0; task.OnFinished += (v) => value = v; task.StartTask(); Assert.AreEqual(50, value); }
//Output the project as a package private void CreateProjectPackage(FileBasedProject createdProject, Language targetLanguage, string packageOutputPath) { // at first create a manual task which will be added into the package ManualTask translate = createdProject.CreateManualTask( "Translate", "API translator", DateTime.Now.AddDays(7), this.GetTaskFiles(createdProject, targetLanguage)); // As last parameter of previous method you can suply array of TaskFileInfo(s), example here, or just array of Guids // which you can get by using createdProject.GetTargetLanguageFiles(targetLanguage).GetIds(); we should document this option // create a project package ProjectPackageCreation package = createdProject.CreateProjectPackage( translate.Id, "mypackage", "A package created by the API", this.GetPackageOption()); bool packageIsCreated = false; while (!packageIsCreated) { switch (package.Status) { case PackageStatus.Cancelling: case PackageStatus.InProgress: case PackageStatus.Scheduled: case PackageStatus.NotStarted: packageIsCreated = false; break; case PackageStatus.Cancelled: case PackageStatus.Completed: case PackageStatus.Failed: case PackageStatus.Invalid: packageIsCreated = true; break; default: break; } } if (package.Status != PackageStatus.Completed) { throw new Exception("Problem during package creation"); } // Save the package as a file createdProject.SavePackageAs(package.PackageId, packageOutputPath); }
protected internal override Task createModelAccessTask(BpmnModelInstance modelInstance, Type delegateClass) { ManualTask task = modelInstance.newInstance(typeof(ManualTask)); task.Id = "manualTask"; CamundaExecutionListener executionListener = modelInstance.newInstance(typeof(CamundaExecutionListener)); executionListener.CamundaEvent = [email protected]_Fields.EVENTNAME_START; //JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method: executionListener.CamundaClass = delegateClass.FullName; task.builder().addExtensionElement(executionListener); return(task); }
/// <summary> /// Starts loading hit object to resolve for specified future. /// </summary> private IEnumerator LoadHitObjects(ManualTask task) { int createCount = 0; int lastLoads = 0; foreach (var obj in GameSession.CurrentMap.HitObjects) { // If create count reached 0, determine new creation count. if (createCount <= 0) { createCount = Mathf.Max((int)((1f / Time.deltaTime) + lastLoads) / 4, 1); lastLoads = createCount; yield return(null); } createCount--; HitObjectView hitObjView = null; if (obj is HitCircle hitCircle) { var hitCircleView = hitCircleRecycler.GetNext(); hitCircleView.Depth = hitObjectViews.Count; hitCircleView.ObjectIndex = hitObjectViews.Count; hitCircleView.SetHitObject(hitCircle); hitObjectViews.Add(hitCircleView); hitObjView = hitCircleView; } else if (obj is Dragger dragger) { var draggerView = draggerRecycler.GetNext(); draggerView.Depth = hitObjectViews.Count; draggerView.ObjectIndex = hitObjectViews.Count; draggerView.SetHitObject(dragger); hitObjectViews.Add(draggerView); hitObjView = draggerView; } if (hitObjView != null) { // Apply combo color var combo = obj as IHasCombo; if (combo != null) { hitObjView.Tint = GetComboColor(combo); } } } task.SetFinished(); }
public void TestOnFinished() { var task = new ManualTask(); bool isFinished = false; task.OnFinished += () => isFinished = true; Assert.IsFalse(isFinished); task.StartTask(); Assert.IsTrue(isFinished); isFinished = false; task.StartTask(); Assert.IsFalse(isFinished); }
private void RunDummyTask(ManualTask <DummyCacherData> task, string key) { var timer = new SynchronizedTimer() { Limit = 1f }; timer.OnFinished += () => { task.SetFinished(new DummyCacherData() { Key = key, IsDestroyed = false }); }; timer.OnProgress += task.SetProgress; timer.Start(); }
/// <summary> /// Event called on game session hard initialization. /// </summary> private void OnHardInit() { curComboOffset = 0; comboColors = GameSession.CurrentMap.ComboColors; if (comboColors == null || comboColors.Count == 0) { comboColors = ColorPreset.DefaultComboColors; } Coroutine loadRoutine = null; ManualTask task = new ManualTask((t) => loadRoutine = UnityThread.StartCoroutine(LoadHitObjects(t))); task.IsRevoked.OnNewValue += (revoked) => { if (revoked && loadRoutine != null) { UnityThread.StopCoroutine(loadRoutine); } }; Model.AddAsLoader(task); }
public void TestWithComplexTasks() { var manualTask = new ManualTask((t) => { }); var multiTask = new MultiTask(new List <ITask>() { new ManualTask((t) => {}), new ManualTask((t) => {}) }); var tasks = new List <ITask>() { manualTask, multiTask }; var task = new MultiTask(tasks); var listener = new TaskListener(); task.StartTask(listener); Assert.AreEqual(listener, task.Listener); Assert.AreEqual(2, task.Tasks.Count); Assert.IsFalse(task.IsFinished); Assert.IsTrue(task.DidRun); Assert.AreEqual(0f, listener.TotalProgress, Delta); Assert.IsFalse(listener.IsFinished); (multiTask.Tasks[0] as ManualTask).SetFinished(); Assert.IsFalse(task.IsFinished); Assert.AreEqual(0.25f, listener.TotalProgress, Delta); Assert.IsFalse(listener.IsFinished); manualTask.SetFinished(); Assert.IsFalse(task.IsFinished); Assert.AreEqual(0.75f, listener.TotalProgress, Delta); Assert.IsFalse(listener.IsFinished); (multiTask.Tasks[1] as ManualTask).SetFinished(); Assert.IsTrue(task.IsFinished); Assert.AreEqual(1f, listener.TotalProgress, Delta); Assert.IsTrue(listener.IsFinished); }
public virtual ManualTaskActivityBehavior CreateManualTaskActivityBehavior(ManualTask manualTask) { return(new ManualTaskActivityBehavior()); }
protected internal AbstractManualTaskBuilder(BpmnModelInstance modelInstance, ManualTask element, Type selfType) : base(modelInstance, element, selfType) { }