public IEnumerator TestSquaresScoreGap() { int scoreWithGap; int scoreWithoutGap; // Score for round without gap InitializeVisuospatialMeasure(); for (int a = 0; a < 6; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreWithoutGap = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with gap InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } // Add one round with gap VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_gap); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreWithGap = VisuospatialSketchpadMeasure.subScoreSquares.Score; yield return(null); Assert.IsTrue(scoreWithGap < scoreWithoutGap); }
public IEnumerator NumberOfRoundsCorrectScoreIncrease() { int score6Squares, score8Squares; yield return(null); // 6 squares InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_6Squares); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); score6Squares = VisuospatialSketchpadMeasure.subScoreSquares.Score; yield return(null); // 8 squares InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_8Squares); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); score8Squares = VisuospatialSketchpadMeasure.subScoreSquares.Score; Assert.IsTrue(score6Squares < score8Squares, "6 squares score: " + score6Squares + " 8 squares score: " + score8Squares); }
public IEnumerator TestSquaresNumberOfCorrectHighlightedSquaresInLargeNumberOfHighlighted() { int scoreWithLowNumberOfCorrectSquares; int scoreWithHighNumberOfCorrectSquares; // Score for round with correct squares, but lower number of squares InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreWithLowNumberOfCorrectSquares = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with correct squares, but higher number of squares InitializeVisuospatialMeasure(); for (int a = 0; a < 4; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } // Add one round with more correct squares VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_moreCorrectSquares); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreWithHighNumberOfCorrectSquares = VisuospatialSketchpadMeasure.subScoreSquares.Score; yield return(null); Assert.IsTrue(scoreWithLowNumberOfCorrectSquares < scoreWithHighNumberOfCorrectSquares); }
public IEnumerator TestSquaresScoreMismatch() { int scoreWithMisMatch; int scoreWithoutMisMatch; // Score for round without mismatch InitializeVisuospatialMeasure(); for (int a = 0; a < 6; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreWithoutMisMatch = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with mismatch InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } // Add one round with mismatch VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_misMatch); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreWithMisMatch = VisuospatialSketchpadMeasure.subScoreSquares.Score; yield return(null); Assert.IsTrue(scoreWithMisMatch < scoreWithoutMisMatch); }
public IEnumerator TestSquaresScoreNumberOfRounds() { int scoreForLowerNumOfRounds; int scoreForHigherNumOfRounds; int numOfRoundsInThisTestCase = 2; // Score for 1 round InitializeVisuospatialMeasure(); VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreForLowerNumOfRounds = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Make sure that the scores for rounds 2 - 8 increase depending on the number of rounds for (int j = 2; j < 8; j++) { InitializeVisuospatialMeasure(); for (int k = 0; k < numOfRoundsInThisTestCase; k++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } // Call the EvaluateSquaresScore function VisuospatialSketchpadMeasure.EvaluateSquaresScore(); // Get the score scoreForHigherNumOfRounds = VisuospatialSketchpadMeasure.subScoreSquares.Score; yield return(null); // Test that fewer rounds played should result in a lower score Assert.IsTrue(scoreForLowerNumOfRounds <= scoreForHigherNumOfRounds, "Number of rounds: " + numOfRoundsInThisTestCase + " Low rounds score: " + scoreForLowerNumOfRounds + " High rounds score: " + scoreForHigherNumOfRounds); // Set variables for next round comparison scoreForLowerNumOfRounds = scoreForHigherNumOfRounds; numOfRoundsInThisTestCase += 1; } }
//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(); } }
public IEnumerator TestMaxScore100() { int actualScore; // Score for round with high number of correct squares InitializeVisuospatialMeasure(); for (int a = 0; a < 7; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_moreCorrectSquares); } VisuospatialSketchpadMeasure.EvaluateSquaresScore(); actualScore = VisuospatialSketchpadMeasure.subScoreSquares.Score; yield return(null); Assert.IsTrue(actualScore == 100, "Score: " + actualScore); }
public IEnumerator WHEN_EvaluateSquaresScoreFunctionCalledOnEmptyInput_SquareSubScoreReturnsBaseScore() { // Initialize the measurement module InitializeVisuospatialMeasure(); // Call the evaluate score function VisuospatialSketchpadMeasure.EvaluateSquaresScore(); yield return(null); // SquaresStorage datatype variable to hold the data from the squares mini-game SquaresStorage squaresData = Squares.GetGameplayData(); // Ensure that SubscoreSquares values are correctly set Assert.AreEqual(AbilityName.VISUOSPATIAL_SKETCHPAD, VisuospatialSketchpadMeasure.subScoreSquares.AbilityName); Assert.AreEqual(GameName.SQUARES, VisuospatialSketchpadMeasure.subScoreSquares.GameName); Assert.AreEqual(0, VisuospatialSketchpadMeasure.subScoreSquares.Score); Assert.AreEqual(2, VisuospatialSketchpadMeasure.subScoreSquares.Weight); }
public IEnumerator TestSquaresRecallTime() { int scoreForRecallTime3; int scoreForRecallTime3_3; int scoreForRecallTime3_6; int scoreForRecallTime3_9; int scoreForRecallTime4_2; int scoreForRecallTime5; // Score for round with recall time 3 InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_3); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreForRecallTime3 = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with recall time 3.3 InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_3_3); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreForRecallTime3_3 = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with recall time 3.6 InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_3_6); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreForRecallTime3_6 = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with recall time 3.9 InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_3_9); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreForRecallTime3_9 = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with recall time 4.2 InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound_4_2); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreForRecallTime4_2 = VisuospatialSketchpadMeasure.subScoreSquares.Score; // Score for round with recall time 5 InitializeVisuospatialMeasure(); for (int a = 0; a < 5; a++) { VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); } // Add one round with the recall time VisuospatialSketchpadMeasure.squaresData.Rounds.Add(squareRound); VisuospatialSketchpadMeasure.EvaluateSquaresScore(); scoreForRecallTime5 = VisuospatialSketchpadMeasure.subScoreSquares.Score; yield return(null); Assert.IsTrue(scoreForRecallTime3 > scoreForRecallTime3_3, "3 seconds: " + scoreForRecallTime3 + " 3.3 seconds: " + scoreForRecallTime3_3); Assert.IsTrue(scoreForRecallTime3_3 > scoreForRecallTime3_6, "3.3 seconds: " + scoreForRecallTime3_3 + " 3.6 seconds: " + scoreForRecallTime3_6); Assert.IsTrue(scoreForRecallTime3_6 > scoreForRecallTime3_9, "3.6 seconds: " + scoreForRecallTime3_6 + " 3.9 seconds: " + scoreForRecallTime3_9); Assert.IsTrue(scoreForRecallTime3_9 > scoreForRecallTime4_2, "3 seconds: " + scoreForRecallTime3 + ", 3.3 seconds: " + scoreForRecallTime3_3 + ", 3.6 seconds: " + scoreForRecallTime3_6 + ", 3.9 seconds: " + scoreForRecallTime3_9 + ", 4.2 seconds " + scoreForRecallTime4_2 + ", 5 seconds " + scoreForRecallTime5); Assert.IsTrue(scoreForRecallTime4_2 > scoreForRecallTime5, "4.2 seconds: " + scoreForRecallTime4_2 + " 5 seconds " + scoreForRecallTime5); }