//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();
            }
        }
Пример #2
0
            public IEnumerator CheckGetKeyNum()
            {
                ClearSelectiveVisualMeasure();
                yield return(null);

                SelectiveVisualMeasure.imagehitData = null;
                float source = SelectiveVisualMeasure.GetKeyNum(0);

                Assert.True(source == 0, "message no Source");

                SelectiveVisualMeasure.imagehitData        = new ImageHitStorage();
                SelectiveVisualMeasure.imagehitData.Rounds = new List <List <ImageHitRound> >();

                for (int i = 0; i <= 10; i++)
                {
                    List <ImageHitRound> testRound = new List <ImageHitRound>();

                    for (int j = 0; j <= 10; j++)
                    {
                        ImageHitRound testro = new ImageHitRound();
                        testro.imageName = "111";
                        testRound.Add(testro);
                    }

                    SelectiveVisualMeasure.imagehitData.Rounds.Add(testRound);
                }

                float source1 = SelectiveVisualMeasure.GetKeyNum(0);

                Assert.True(source1 == 0, "message no Source");

                SelectiveVisualMeasure.imagehitData = null;

                SelectiveVisualMeasure.imagehitData        = new ImageHitStorage();
                SelectiveVisualMeasure.imagehitData.Rounds = new List <List <ImageHitRound> >();

                for (int i = 0; i <= 10; i++)
                {
                    List <ImageHitRound> testRound = new List <ImageHitRound>();

                    for (int j = 0; j <= 10; j++)
                    {
                        ImageHitRound testro = new ImageHitRound();
                        testro.imageName    = "111";
                        testro.isKeyPressed = j % 2 != 0;
                        testRound.Add(testro);
                    }

                    SelectiveVisualMeasure.imagehitData.Rounds.Add(testRound);
                }

                float source2 = SelectiveVisualMeasure.GetKeyNum(0);

                Assert.True(source2 == 20, "message no Source");
            }
Пример #3
0
            public IEnumerator WHEN_EvaluateImageHitScore()
            {
                ClearSelectiveVisualMeasure();

                // Call tested function
                SelectiveVisualMeasure.EvaluateImageHitScore();

                yield return(null);

                Assert.AreEqual(AbilityName.SELECTIVE_VISUAL, SelectiveVisualMeasure.subScoreImageHit.AbilityName);
                Assert.AreEqual(GameName.IMAGE_HIT, SelectiveVisualMeasure.subScoreImageHit.GameName);
                Assert.AreEqual(0, SelectiveVisualMeasure.subScoreImageHit.Score);
                Assert.AreEqual(1, SelectiveVisualMeasure.subScoreImageHit.Weight);
            }
Пример #4
0
            public IEnumerator WHEN_EvaluateSquaresScoreFunctionCalled_SquaresSubScoreDerived()
            {
                ClearSelectiveVisualMeasure();

                // Call tested function
                SelectiveVisualMeasure.EvaluateSquaresScore();

                yield return(null);

                Assert.AreEqual(AbilityName.SELECTIVE_VISUAL, SelectiveVisualMeasure.subScoreSquares.AbilityName);
                Assert.AreEqual(GameName.SQUARES, SelectiveVisualMeasure.subScoreSquares.GameName);
                Assert.AreEqual(0, SelectiveVisualMeasure.subScoreSquares.Score);
                Assert.AreEqual(1, SelectiveVisualMeasure.subScoreSquares.Weight);
            }
Пример #5
0
            public IEnumerator CheckMatchKeyPressTimeToScore()
            {
                ClearSelectiveVisualMeasure();

                yield return(null);

                float sorce = SelectiveVisualMeasure.MatchKeyPressTimeToScore(0.1);

                Assert.True(sorce == 100, "message no Source");

                float sorce1 = SelectiveVisualMeasure.MatchKeyPressTimeToScore(4);

                Assert.True(sorce1 <= 0, "message no Source");
            }
Пример #6
0
            public IEnumerator WHEN_TestSquaresScore_NoRoundsReturn0()
            {
                int expectedScore = 0;
                int actualScore;

                // Score for round without mismatch
                ClearSelectiveVisualMeasure();
                SelectiveVisualMeasure.EvaluateSquaresScore();
                actualScore = VisuospatialSketchpadMeasure.subScoreSquares.Score;

                yield return(null);

                Assert.IsTrue(expectedScore == actualScore);
            }
Пример #7
0
            public IEnumerator WHEN_EvaluateCTFScore()
            {
                ClearSelectiveVisualMeasure();
                yield return(null);

                SelectiveVisualMeasure.ctfData.Rounds = new List <CatchTheThiefRound>();
                CatchTheThiefRound catchTheThiefRound = new CatchTheThiefRound();

                catchTheThiefRound.ThiefAppearInRound     = true;
                catchTheThiefRound.IsIdentifiedKeyPressed = false;
                catchTheThiefRound.PersonAppearInRound    = false;
                SelectiveVisualMeasure.ctfData.Rounds.Add(catchTheThiefRound);

                SelectiveVisualMeasure.EvaluateCTFScore();
                Assert.AreEqual(AbilityName.SELECTIVE_VISUAL, SelectiveVisualMeasure.subScoreCTF.AbilityName);
                Assert.AreEqual(GameName.CATCH_THE_THIEF, SelectiveVisualMeasure.subScoreCTF.GameName);
                Assert.AreEqual(0, SelectiveVisualMeasure.subScoreCTF.Score);
                Assert.AreEqual(2, SelectiveVisualMeasure.subScoreCTF.Weight);
            }
Пример #8
0
            public IEnumerator CheckImageHitSource()
            {
                ClearSelectiveVisualMeasure();

                // Call tested function

                yield return(null);

                SelectiveVisualMeasure.imagehitData.Rounds.Add(new List <ImageHitRound>());
                SelectiveVisualMeasure.imagehitData.Rounds.Add(new List <ImageHitRound>());
                float sorce = SelectiveVisualMeasure.GetScore();

                Assert.True(sorce == 0, "message no Source");

                SelectiveVisualMeasure.imagehitData = null;
                float sorce1 = SelectiveVisualMeasure.GetScore();

                Assert.True(sorce1 == 0, "message no Source");
            }
Пример #9
0
            public IEnumerator TestImageHitRoundLongTimeCheck()
            {
                ClearSelectiveVisualMeasure();

                // Get score for having 14 unsuccessful click
                SelectiveVisualMeasure.imagehitData.Rounds.Add(imaghtHitRound);
                SelectiveVisualMeasure.EvaluateCTFScore();
                int score_has14UnsuccessfulClick = SelectiveVisualMeasure.subScoreCTF.Score;

                ClearSelectiveVisualMeasure();

                // Get score for having 20 unsuccessful click
                SelectiveVisualMeasure.imagehitData.Rounds.Add(imahtHitRound_longTimeInClicks);
                SelectiveVisualMeasure.EvaluateCTFScore();
                int score_has20UnsuccessfulClick = SelectiveVisualMeasure.subScoreCTF.Score;

                yield return(null);

                // Test that more unsuccessful clicks should result a lower score
                Assert.IsTrue(score_has14UnsuccessfulClick == score_has20UnsuccessfulClick);
            }
Пример #10
0
            public IEnumerator TestCatchRoundThiefAppearInRound()
            {
                ClearSelectiveVisualMeasure();

                // Get score for having 14 unsuccessful click
                SelectiveVisualMeasure.ctfData.Rounds.Add(catchRound);
                SelectiveVisualMeasure.EvaluateCTFScore();
                int score_has14UnsuccessfulClick = SelectiveVisualMeasure.subScoreCTF.Score;

                ClearSelectiveVisualMeasure();

                // Get score for having 20 unsuccessful click
                SelectiveVisualMeasure.ctfData.Rounds.Add(catchRound_longTimeInClicks);
                SelectiveVisualMeasure.EvaluateCTFScore();
                int score_has20UnsuccessfulClick = SelectiveVisualMeasure.subScoreCTF.Score;

                yield return(null);

                // Test that more unsuccessful clicks should result a lower score
                Assert.IsTrue(score_has14UnsuccessfulClick < score_has20UnsuccessfulClick);
            }
Пример #11
0
            public IEnumerator WHEN_TestSquaresScore_DifferentOrderAndSameOrderHaveSameScore()
            {
                int scoreWithSameOrder;
                int scoreWithDifferentOrder;

                // Score for round without mismatch
                ClearSelectiveVisualMeasure();
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_sameOrder);
                SelectiveVisualMeasure.EvaluateSquaresScore();
                scoreWithSameOrder = VisuospatialSketchpadMeasure.subScoreSquares.Score;

                // Score for round with mismatch
                ClearSelectiveVisualMeasure();
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_differentOrder);
                SelectiveVisualMeasure.EvaluateSquaresScore();
                scoreWithDifferentOrder = VisuospatialSketchpadMeasure.subScoreSquares.Score;

                yield return(null);

                Assert.IsTrue(scoreWithDifferentOrder == scoreWithSameOrder);
            }
Пример #12
0
            public IEnumerator WHEN_GetSubScoreForCTF()
            {
                ClearSelectiveVisualMeasure();

                // Set values for SelectiveVisualMeasure.subScoreBalloons
                SelectiveVisualMeasure.subScoreCTF.AbilityName = AbilityName.SELECTIVE_VISUAL;
                SelectiveVisualMeasure.subScoreCTF.GameName    = GameName.BALLOONS;
                SelectiveVisualMeasure.subScoreCTF.Score       = 49;
                SelectiveVisualMeasure.subScoreCTF.Weight      = 2;

                // Call tested function
                SubscoreStorage returnedSubscoreBalloons = SelectiveVisualMeasure.GetSubScoreForCTF();
                SubscoreStorage expectedSubscoreBalloons = SelectiveVisualMeasure.subScoreCTF;

                yield return(null);

                // Test SelectiveVisualMeasure.subScoreBalloons is correctly returned
                Assert.AreEqual(expectedSubscoreBalloons.AbilityName, returnedSubscoreBalloons.AbilityName);
                Assert.AreEqual(expectedSubscoreBalloons.GameName, returnedSubscoreBalloons.GameName);
                Assert.AreEqual(expectedSubscoreBalloons.Score, returnedSubscoreBalloons.Score);
                Assert.AreEqual(expectedSubscoreBalloons.Weight, returnedSubscoreBalloons.Weight);
            }
Пример #13
0
            public IEnumerator WHEN_GetSubScoreForSquaresFunctionCalled_SquaresSubScoreReturned()
            {
                ClearSelectiveVisualMeasure();

                // Set values for SelectiveVisualMeasure.subScoreSquares
                SelectiveVisualMeasure.subScoreSquares.AbilityName = AbilityName.SELECTIVE_VISUAL;
                SelectiveVisualMeasure.subScoreSquares.GameName    = GameName.SQUARES;
                SelectiveVisualMeasure.subScoreSquares.Score       = 49;
                SelectiveVisualMeasure.subScoreSquares.Weight      = 2;

                // Call tested function
                SubscoreStorage returnedSubscoreSquares = SelectiveVisualMeasure.GetSubScoreForSquares();
                SubscoreStorage expectedSubscoreSquares = SelectiveVisualMeasure.subScoreSquares;

                yield return(null);

                // Test SelectiveVisualMeasure.subScoreSquares is correctly returned
                Assert.AreEqual(expectedSubscoreSquares.AbilityName, returnedSubscoreSquares.AbilityName);
                Assert.AreEqual(expectedSubscoreSquares.GameName, returnedSubscoreSquares.GameName);
                Assert.AreEqual(expectedSubscoreSquares.Score, returnedSubscoreSquares.Score);
                Assert.AreEqual(expectedSubscoreSquares.Weight, returnedSubscoreSquares.Weight);
            }
Пример #14
0
            public IEnumerator WHEN_TestSquaresScore_Mismatch()
            {
                int scoreWithMisMatch;
                int scoreWithoutMisMatch;

                // Score for round without mismatch
                ClearSelectiveVisualMeasure();
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_sameOrder);
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_sameOrder);
                SelectiveVisualMeasure.EvaluateSquaresScore();
                scoreWithoutMisMatch = SelectiveVisualMeasure.subScoreSquares.Score;

                // Score for round with mismatch
                ClearSelectiveVisualMeasure();
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_sameOrder);
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_mismatch);
                SelectiveVisualMeasure.EvaluateSquaresScore();
                scoreWithMisMatch = SelectiveVisualMeasure.subScoreSquares.Score;

                yield return(null);

                Assert.IsTrue(scoreWithMisMatch < scoreWithoutMisMatch, "scoreWithMismatch: " + scoreWithMisMatch + " ScoreWithoutMisMatch: " + scoreWithMisMatch);
            }
Пример #15
0
            public IEnumerator TestBalloonsScore_ShortestPossibleDestinationClickTime()
            {
                ClearSelectiveVisualMeasure();

                // Add balloonRound to balloonsData
                SelectiveVisualMeasure.balloonsData.Rounds.Add(balloonRound);
                // Call Evaluate function
                SelectiveVisualMeasure.EvaluateBalloonsScore();
                int score_normal = SelectiveVisualMeasure.subScoreBalloons.Score;

                ClearSelectiveVisualMeasure();

                // Add balloonRound_shortestPossibleDestClickTime to balloonsData
                SelectiveVisualMeasure.balloonsData.Rounds.Add(balloonRound_shortestPossibleDestClickTime);
                // Call Evaluate function
                SelectiveVisualMeasure.EvaluateBalloonsScore();
                int score_shortestDesClickTime = SelectiveVisualMeasure.subScoreBalloons.Score;

                yield return(null);

                // Test that shortest possible destination click time should result a higher score
                Assert.IsTrue(score_normal < score_shortestDesClickTime);
            }
Пример #16
0
            public IEnumerator TestBalloonsScore_MoveTimeIsTimeInClicks()
            {
                ClearSelectiveVisualMeasure();

                // Add balloonRound to balloonsData
                SelectiveVisualMeasure.balloonsData.Rounds.Add(balloonRound);
                // Call Evaluate function
                SelectiveVisualMeasure.EvaluateBalloonsScore();
                int score_normal = SelectiveVisualMeasure.subScoreBalloons.Score;

                ClearSelectiveVisualMeasure();

                // Add balloonRound_longTimeInClicks to balloonsData
                SelectiveVisualMeasure.balloonsData.Rounds.Add(balloonRound_longTimeInClicks);
                // Call Evaluate function
                SelectiveVisualMeasure.EvaluateBalloonsScore();
                int score_longTimeInClicks = SelectiveVisualMeasure.subScoreBalloons.Score;

                yield return(null);

                // Test that long destination click time should result a lower score
                Assert.IsTrue(score_normal > score_longTimeInClicks);
            }
Пример #17
0
            public IEnumerator WHEN_TestSquaresScore_Gap()
            {
                int scoreWithGap;
                int scoreWithoutGap;

                // Score for round without mismatch
                ClearSelectiveVisualMeasure();

                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_sameOrder);
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_sameOrder);
                SelectiveVisualMeasure.EvaluateSquaresScore();
                scoreWithoutGap = SelectiveVisualMeasure.subScoreSquares.Score;

                // Score for round with mismatch
                ClearSelectiveVisualMeasure();
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_sameOrder);
                SelectiveVisualMeasure.squaresData.Rounds.Add(squareRound_gap);
                SelectiveVisualMeasure.EvaluateSquaresScore();
                scoreWithGap = SelectiveVisualMeasure.subScoreSquares.Score;

                yield return(null);

                Assert.IsTrue(scoreWithGap < scoreWithoutGap, "scoreWithGap: " + scoreWithGap + " ScoreWithoutGap: " + scoreWithoutGap);
            }
Пример #18
0
            public IEnumerator WHEN_GetSubScoreForImageHit()
            {
                ClearSelectiveVisualMeasure();

                // Set values for InhibitionMeasure.subScoreImageHit
                SelectiveVisualMeasure.subScoreImageHit.AbilityName = AbilityName.SELECTIVE_VISUAL;
                SelectiveVisualMeasure.subScoreImageHit.GameName    = GameName.IMAGE_HIT;
                SelectiveVisualMeasure.subScoreImageHit.Score       = 89;
                SelectiveVisualMeasure.subScoreImageHit.Weight      = 2;

                // Call tested function
                SubscoreStorage returnedSubscoreImageHit = SelectiveVisualMeasure.GetSubScoreForImageHit();
                SubscoreStorage expectedSubscoreImageHit = SelectiveVisualMeasure.subScoreImageHit;

                yield return(null);

                // Test InhibitionMeasure.subScoreImageHit is correctly returned
                Assert.AreEqual(expectedSubscoreImageHit.AbilityName, returnedSubscoreImageHit.AbilityName);
                Assert.AreEqual(expectedSubscoreImageHit.GameName, returnedSubscoreImageHit.GameName);
                Assert.AreEqual(expectedSubscoreImageHit.Score, returnedSubscoreImageHit.Score);
                Assert.AreEqual(expectedSubscoreImageHit.Weight, returnedSubscoreImageHit.Weight);

                yield return(null);
            }
        /// <summary>
        /// UpdateSubScoreSeq is to derive all subscore records and
        /// add these records to the subScoreSeq.
        /// </summary>
        private static void UpdateSubScoreSeq()
        {
            // Update subscores of abilities tested by Balloons and add them to sequence
            // If the game has been played, update the score
            if (!notYetPlayBalloons)
            {
                //get subscore for (Flicking, Balloons)
                SubscoreStorage flicking_balloons = PointingMeasure.GetSubScoreForBalloons();
                //get subscore for (Inhibition, Balloons)
                SubscoreStorage inhibition_balloons = InhibitionMeasure.GetSubScoreForBalloons();
                //get subscore for (Selective Visual, Balloons)
                SubscoreStorage selectiveVisual_balloons = SelectiveVisualMeasure.GetSubScoreForBalloons();

                //add subScore to subScoreSeq
                subScoreSeq.Add(flicking_balloons);
                subScoreSeq.Add(inhibition_balloons);
                subScoreSeq.Add(selectiveVisual_balloons);
            }

            // Update subscores of abilities tested by Squares and add them to sequence
            // If the game has been played, update the score
            if (!notYetPlaySquares)
            {
                //get subscore for (Selective Visual, Squares)
                SubscoreStorage selectiveVisual_squares = SelectiveVisualMeasure.GetSubScoreForSquares();
                //get subscore for (Visuospatial Sketchpad, Squares)
                SubscoreStorage visuospatialSketchpad_squares = VisuospatialSketchpadMeasure.GetSubScoreForSquares();

                //add subScore to subScoreSeq
                subScoreSeq.Add(selectiveVisual_squares);
                subScoreSeq.Add(visuospatialSketchpad_squares);
            }

            // Update subscores of abilities tested by Catch The Thief and add them to sequence
            // If the game has been played, update the score
            if (!notYetPlayCTF)
            {
                //get subscore for (Inhibition, Catch The Thief)
                SubscoreStorage inhibition_ctf = InhibitionMeasure.GetSubScoreForCTF();
                //get subscore for  (Selective Visual, Catch The Thief)
                SubscoreStorage selectiveVisual_ctf = SelectiveVisualMeasure.GetSubScoreForCTF();

                //add subScore to subScoreSeq
                subScoreSeq.Add(inhibition_ctf);
                subScoreSeq.Add(selectiveVisual_ctf);
            }

            // Update subscores of abilities tested by ImageHit and add them to sequence
            // If the game has been played, update the score
            if (!notYetPlayImageHit)
            {
                //get subscore for (Object Recognition, ImageHit)
                SubscoreStorage objectRecognition_imageHit = ObjectRecognitionMeasure.GetSubScoreForImageHit();
                //get subscore for (Inhibition, ImageHit)
                SubscoreStorage inhibition_imageHit = InhibitionMeasure.GetSubScoreForImageHit();
                //get subscore for  (Selective Visual, ImageHit)
                SubscoreStorage selectiveVisual_imageHit = SelectiveVisualMeasure.GetSubScoreForImageHit();

                //add subScore to subScoreSeq
                subScoreSeq.Add(objectRecognition_imageHit);
                subScoreSeq.Add(inhibition_imageHit);
                subScoreSeq.Add(selectiveVisual_imageHit);
            }

            // Update subscores of abilities tested by Catch The Ball and add them to sequence
            // If the game has been played, update the score
            if (!notYetCatchTheBall)
            {
                //get subscore for (Time To Contact, Catch The Ball)
                SubscoreStorage timeToContact_catchTheBall = TimeToContact.GetSubScoreForCatchTheBall();

                //add subScore to subScoreSeq
                subScoreSeq.Add(timeToContact_catchTheBall);
            }

            // Update subscores of abilities tested by Save One Ball and add them to sequence
            // If the game has been played, update the score
            if (!notYetSaveOneBall)
            {
                //get subscore for (Time To Contact, Save One Ball)
                SubscoreStorage timeToContact_saveOneBall = TimeToContact.GetSubScoreForSaveOneBall();

                //add subScore to subScoreSeq
                subScoreSeq.Add(timeToContact_saveOneBall);
            }

            // Update subscores of abilities tested by Judge The Ball and add them to sequence
            // If the game has been played, update the score
            if (!notYetJudgeTheBall)
            {
                //get subscore for (Time To Contact, Judge The Ball)
                SubscoreStorage timeToContact_judgeTheBall = TimeToContact.GetSubScoreForJudgeTheBall();

                //add subScore to subScoreSeq
                subScoreSeq.Add(timeToContact_judgeTheBall);
            }
        }
Пример #20
0
            public IEnumerator CheckGetScoreFromOneImage()
            {
                ClearSelectiveVisualMeasure();
                yield return(null);

                ImageHitRound imageHitRound = new ImageHitRound();

                imageHitRound.isKeyPressed          = true;
                imageHitRound.isCorrectlyIdentified = true;
                float source = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound, 30f);

                Assert.AreEqual(30, source, "message no Source");

                ImageHitRound imageHitRound2 = new ImageHitRound();

                imageHitRound2.isKeyPressed          = true;
                imageHitRound2.isCorrectlyIdentified = false;
                imageHitRound2.keyPressTime          = 0.6f;
                float source2 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound2, 30f);

                Assert.AreEqual(18, source2, "message no Source");

                ImageHitRound imageHitRound3 = null;
                //imageHitRound.isKeyPressed = true;
                //imageHitRound.isCorrectlyIdentified = false;
                float source3 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound3, 30f);

                Assert.AreEqual(0, source3, "message no Source");

                ImageHitRound imageHitRound4 = new ImageHitRound();

                imageHitRound4.isKeyPressed          = false;
                imageHitRound4.isCorrectlyIdentified = true;
                imageHitRound4.keyPressTime          = 1.2f;
                float source4 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound4, 30f);

                Assert.AreEqual(0, source4, "message no Source");

                ImageHitRound imageHitRound5 = new ImageHitRound();

                imageHitRound5.isKeyPressed          = false;
                imageHitRound5.isCorrectlyIdentified = true;
                imageHitRound5.keyPressTime          = 1.6f;
                float source5 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound5, 30f);

                Assert.AreEqual(0, source5, "message no Source");

                ImageHitRound imageHitRound6 = new ImageHitRound();

                imageHitRound6.isKeyPressed          = false;
                imageHitRound6.isCorrectlyIdentified = true;
                imageHitRound6.keyPressTime          = 2.1f;
                float source6 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound6, 30f);

                Assert.AreEqual(0, source6, "message no Source");

                ImageHitRound imageHitRound7 = new ImageHitRound();

                imageHitRound7.isKeyPressed          = false;
                imageHitRound7.isCorrectlyIdentified = true;
                imageHitRound7.keyPressTime          = 2.6f;
                float source7 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound7, 30f);

                Assert.AreEqual(0, source7, "message no Source");

                ImageHitRound imageHitRound8 = new ImageHitRound();

                imageHitRound8.isKeyPressed          = false;
                imageHitRound8.isCorrectlyIdentified = false;
                float source8 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound8, 30f);

                Assert.AreEqual(0, source8, "message no Source");

                ImageHitRound imageHitRound9 = new ImageHitRound();

                imageHitRound9.isKeyPressed          = false;
                imageHitRound9.isCorrectlyIdentified = false;
                imageHitRound9.keyPressTime          = 0.9f;
                float source9 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound9, 30f);

                Assert.AreEqual(0, source9, "message no Source");

                ImageHitRound imageHitRound10 = new ImageHitRound();

                imageHitRound10.isKeyPressed          = false;
                imageHitRound10.isCorrectlyIdentified = false;
                imageHitRound10.keyPressTime          = 1.1f;
                float source10 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound10, 30f);

                Assert.AreEqual(0, source10, "message no Source");

                ImageHitRound imageHitRound11 = new ImageHitRound();

                imageHitRound11.isKeyPressed          = false;
                imageHitRound11.isCorrectlyIdentified = false;
                imageHitRound11.keyPressTime          = 1.6f;
                float source11 = SelectiveVisualMeasure.GetScoreFromOneImage(imageHitRound11, 30f);

                Assert.AreEqual(0, source11, "message no Source");
            }