Exemple #1
0
            public void JudgeTheBallSubScoreCalculatedAsAccuracyAverageBetweenRounds()
            {
                Setup();

                TimeToContact.judgeTheBallData = new JudgeTheBallStorage
                {
                    TargetRadius = DUMMY_TARGET_RADIUS,
                    Rounds       = new List <JudgeTheBallStorage.BallRound>
                    {
                        new JudgeTheBallStorage.BallRound
                        {
                            PlayerBallActualTimeToContact = 3.5F,
                            PredictedTimeToContact        = 5F
                        },
                        new JudgeTheBallStorage.BallRound
                        {
                            PlayerBallActualTimeToContact = 5.6F,
                            PredictedTimeToContact        = 5
                        },
                        new JudgeTheBallStorage.BallRound
                        {
                            PlayerBallActualTimeToContact = 9F,
                            PredictedTimeToContact        = 8.3F
                        },
                    }
                };

                TimeToContact.EvaluateJudgeTheBallScore();

                // FLOOR(1/3 * ((100 - |1 - 5/3.5|*100) + (100 - |1 - 5/5.6|*100) + (100 - |1 - 8.3/9|*100))) = 79

                Assert.AreEqual(79, TimeToContact.GetSubScoreForJudgeTheBall().Score);
            }
Exemple #2
0
            public void WHEN_JudgeOneBallPlayedPerfectlyInAllRounds_THEN_SubscoreOf100IsObtained()
            {
                Setup();

                TimeToContact.judgeTheBallData = new JudgeTheBallStorage
                {
                    TargetRadius = DUMMY_TARGET_RADIUS,
                    Rounds       = new List <JudgeTheBallStorage.BallRound>
                    {
                        new JudgeTheBallStorage.BallRound
                        {
                            PlayerBallActualTimeToContact = 3.5F,
                            PredictedTimeToContact        = 3.5F,
                        },
                        new JudgeTheBallStorage.BallRound
                        {
                            PlayerBallActualTimeToContact = 5.6F,
                            PredictedTimeToContact        = 5.6F,
                        },
                        new JudgeTheBallStorage.BallRound
                        {
                            PlayerBallActualTimeToContact = 8.3F,
                            PredictedTimeToContact        = 8.3F
                        },
                    }
                };

                TimeToContact.EvaluateJudgeTheBallScore();

                Assert.AreEqual(100, TimeToContact.GetSubScoreForJudgeTheBall().Score);
            }
        //Helper functions start
        //---------------------------------------------------------
        //---------------------------------------------------------

        /// <summary>
        /// MeasureAllGames is called when all games end. It will call methods of
        /// evaluating scores for all abilities.
        /// </summary>
        private static void MeasureAllGames()
        {
            // Measure abilities for Balloons
            // If the game has been played, do the measurement; else don't do the measurement
            if (!notYetPlayBalloons)
            {
                PointingMeasure.EvaluateBalloonsScore();
                SelectiveVisualMeasure.EvaluateBalloonsScore();
                InhibitionMeasure.EvaluateBalloonsScore();
            }

            // Measure abilities for Squares
            // If the game has been played, do the measurement; else don't do the measurement
            if (!notYetPlaySquares)
            {
                SelectiveVisualMeasure.EvaluateSquaresScore();
                VisuospatialSketchpadMeasure.EvaluateSquaresScore();
            }

            // Measure abilities for Catch The Thief
            // If the game has been played, do the measurement; else don't do the measurement
            if (!notYetPlayCTF)
            {
                InhibitionMeasure.EvaluateCTFScore();
                SelectiveVisualMeasure.EvaluateCTFScore();
            }

            // Measure abilities for ImageHit
            // If the game has been played, do the measurement; else don't do the measurement
            if (!notYetPlayImageHit)
            {
                ObjectRecognitionMeasure.EvaluateImageHitScore();
                InhibitionMeasure.EvaluateImageHitScore();
                SelectiveVisualMeasure.EvaluateImageHitScore();
            }

            // Measure abilities for Catch The Ball
            // If the game has been played, do the measurement; else don't do the measurement
            if (!notYetCatchTheBall)
            {
                TimeToContact.EvaluateCatchTheBallScore();
            }

            // Measure abilities for Save One Ball
            // If the game has been played, do the measurement; else don't do the measurement
            if (!notYetSaveOneBall)
            {
                TimeToContact.EvaluateSaveOneBallScore();
            }

            // Measure abilities for Judge The Ball
            // If the game has been played, do the measurement; else don't do the measurement
            if (!notYetJudgeTheBall)
            {
                TimeToContact.EvaluateJudgeTheBallScore();
            }
        }
Exemple #4
0
            public void WHEN_EvaluateJudgeTheBallScoreCalledWithNoData_THEN_ScoreOfNegative1IsObtained()
            {
                Setup();

                TimeToContact.EvaluateJudgeTheBallScore();
                SubscoreStorage subscore = TimeToContact.GetSubScoreForJudgeTheBall();

                Assert.AreEqual(-1, subscore.Score);
            }