/// <summary> /// Calculates the overall score for each ability and adds it to the /// list of overall scores. /// </summary> public static void CalculateOverallScoreSeq() { //all abilities AbilityName[] abilityNames = { AbilityName.SELECTIVE_VISUAL, AbilityName.INHIBITION, AbilityName.VISUOSPATIAL_SKETCHPAD, AbilityName.POINTING, AbilityName.TIME_TO_CONTACT, AbilityName.OBJECT_RECOGNITION }; foreach (AbilityName abilityName in abilityNames) { int score = CalculateOverallScoreForOneAbility(abilityName); AbilityLevel level = EvaluateLevel(score); OverallScoreStorage overallScore = new OverallScoreStorage { AbilityName = abilityName, Score = score, Level = level }; overallScoreSeq.Add(overallScore); } }
public IEnumerator WHEN_LevelSet_THEN_LevelGetFunctionWorks() { testOverallScoreStorage = new OverallScoreStorage(); testOverallScoreStorage.Level = AbilityLevel.OK; AbilityLevel expectedAbilityLevel = AbilityLevel.OK; yield return(null); Assert.AreEqual(expectedAbilityLevel, testOverallScoreStorage.Level); }
public IEnumerator WHEN_ScoreSet_THEN_ScoreGetFunctionWorks() { testOverallScoreStorage = new OverallScoreStorage(); testOverallScoreStorage.Score = 5; int expectedScore = 5; yield return(null); Assert.AreEqual(expectedScore, testOverallScoreStorage.Score); }
public IEnumerator WHEN_AbilityNameSet_THEN_AbilityNameGetFunctionWorks() { testOverallScoreStorage = new OverallScoreStorage(); testOverallScoreStorage.AbilityName = AbilityName.VISUOSPATIAL_SKETCHPAD; AbilityName expectedAbilityName = AbilityName.VISUOSPATIAL_SKETCHPAD; yield return(null); Assert.AreEqual(expectedAbilityName, testOverallScoreStorage.AbilityName); }
/// <summary> /// Get the overallScoreStorage object for the specified input ability from the overallScoreSeq. /// </summary> /// <param name="abilityName"></param> /// <returns></returns> private OverallScoreStorage GetOverallScoreStorageForOneAbility(AbilityName abilityName) { OverallScoreStorage result = new OverallScoreStorage(); foreach (OverallScoreStorage overallScore in overallScoreSeq) { if (overallScore.AbilityName == abilityName) { result = overallScore; break; } } return(result); }
public IEnumerator WHEN_GetOverallScoreSeqFunctionCalled_THEN_OverallScoreSeqReturned() { // Create example OverallScoreStorage object: OverallScoreStorage overall_inhibition = new OverallScoreStorage { AbilityName = AbilityName.INHIBITION, Score = 100, Level = AbilityLevel.EXCELLENT }; AbilityManagement.overallScoreSeq.Add(overall_inhibition); // Call tested function List <OverallScoreStorage> gottenOverallScoreSeq = AbilityManagement.GetOverallScoreSeq(); yield return(null); Assert.AreEqual(AbilityManagement.overallScoreSeq, gottenOverallScoreSeq); }
/// <summary> /// Update the score and level text on scene. /// </summary> private void UpdateScoreAndLevelText() { OverallScoreStorage scoreAndLevel = new OverallScoreStorage(); // Get the overallScoreStorage based on the curently active ability result scene switch (currentSceneName) { case SceneName.INHIBITION_RESULT_SCENE: scoreAndLevel = GetOverallScoreStorageForOneAbility(AbilityName.INHIBITION); break; case SceneName.OBJECT_RECOGNITION_RESULT_SCENE: scoreAndLevel = GetOverallScoreStorageForOneAbility(AbilityName.OBJECT_RECOGNITION); break; case SceneName.POINTING_RESULT_SCENE: scoreAndLevel = GetOverallScoreStorageForOneAbility(AbilityName.POINTING); break; case SceneName.SELECTIVE_VISUAL_RESULT_SCENE: scoreAndLevel = GetOverallScoreStorageForOneAbility(AbilityName.SELECTIVE_VISUAL); break; case SceneName.TIME_TO_CONTACT_RESULT_SCENE: scoreAndLevel = GetOverallScoreStorageForOneAbility(AbilityName.TIME_TO_CONTACT); break; case SceneName.VISUOSPATIAL_SKETCHPAD_RESULT_SCENE: scoreAndLevel = GetOverallScoreStorageForOneAbility(AbilityName.VISUOSPATIAL_SKETCHPAD); break; } // Set Text scoreValue.text = scoreAndLevel.Score.ToString(); levelValue.text = scoreAndLevel.Level.ToString(); RadialScoreRing radialScoreRing = GameObject.Find("RadialScoreRing").GetComponent <RadialScoreRing>(); radialScoreRing.GetComponent <RadialScoreRing>().Score = scoreAndLevel.Score; radialScoreRing.BeginAnimation(); }
public IEnumerator CorrectScoreANDLevelDisplayed() { // Create example OverallScoreSeq OverallScoreStorage pointing = new OverallScoreStorage { Score = 10, AbilityName = AbilityName.POINTING, Level = AbilityLevel.VERY_POOR }; OverallScoreStorage inhibition = new OverallScoreStorage { Score = 20, AbilityName = AbilityName.INHIBITION, Level = AbilityLevel.VERY_POOR }; OverallScoreStorage objectRecognition = new OverallScoreStorage { Score = 30, AbilityName = AbilityName.OBJECT_RECOGNITION, Level = AbilityLevel.POOR }; OverallScoreStorage selectiveVisual = new OverallScoreStorage { Score = 60, AbilityName = AbilityName.POINTING, Level = AbilityLevel.OK }; OverallScoreStorage timeToContact = new OverallScoreStorage { Score = 80, AbilityName = AbilityName.POINTING, Level = AbilityLevel.GOOD }; OverallScoreStorage visuospatialSketchpad = new OverallScoreStorage { Score = 95, AbilityName = AbilityName.POINTING, Level = AbilityLevel.EXCELLENT }; // When measure is finished BatterySessionManagement.measureEnd = true; // Set overallScoreSeq in AbilityManagement AbilityManagement.overallScoreSeq = new List <OverallScoreStorage>(); AbilityManagement.overallScoreSeq.Add(pointing); AbilityManagement.overallScoreSeq.Add(inhibition); AbilityManagement.overallScoreSeq.Add(objectRecognition); AbilityManagement.overallScoreSeq.Add(selectiveVisual); AbilityManagement.overallScoreSeq.Add(timeToContact); AbilityManagement.overallScoreSeq.Add(visuospatialSketchpad); // Load result scene SceneManager.LoadScene(SceneName.RESULT_SCENE); yield return(new WaitForSeconds(0.1f)); // Then the displyed text should not be null Assert.IsNotNull(pointingLevel.text); Assert.IsNotNull(pointingScore.text); Assert.IsNotNull(inhibitionLevel.text); Assert.IsNotNull(inhibitionScore.text); Assert.IsNotNull(objectRecognitionLevel.text); Assert.IsNotNull(objectRecognitionScore.text); Assert.IsNotNull(selectiveVisualLevel.text); Assert.IsNotNull(selectiveVisualScore.text); Assert.IsNotNull(timeToContactLevel.text); Assert.IsNotNull(timeToContactScore.text); Assert.IsNotNull(visuospatialSketchpadLevel.text); Assert.IsNotNull(visuospatialSketchpadScore.text); }