/// <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);
            }
        }
Esempio n. 2
0
            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);
            }
Esempio n. 3
0
            public IEnumerator WHEN_ScoreSet_THEN_ScoreGetFunctionWorks()
            {
                testOverallScoreStorage       = new OverallScoreStorage();
                testOverallScoreStorage.Score = 5;
                int expectedScore = 5;

                yield return(null);

                Assert.AreEqual(expectedScore, testOverallScoreStorage.Score);
            }
Esempio n. 4
0
            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);
            }
Esempio n. 5
0
        /// <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);
            }
Esempio n. 7
0
        /// <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);
            }