public void testCalculateResult()
    {
        var stubNumberArray = new int[] { 1, 1, 1, 1 };
        var stubOpArray     = new Operations[] { Operations.Add, Operations.Subtract, Operations.Multiply };
        var testResult      = MathsMinigame.CalculateResult(stubNumberArray, stubOpArray);

        Assert.AreEqual(1, testResult);
    }
    private Text errorMessage = null;       // store the text that displays the error messages

    /// <summary>
    /// Initialises the MathsMiniGameManager
    /// </summary>
    /// <remarks>
    /// Creates an array on minigame rounds
    /// </remarks>
    void Start()
    {
        currentGame = 0;
        for (int i = 0; i < games.Length; i++)
        {
            games[i] = new MathsMinigame();
        }
        UpdateTextComponents();
    }
    /// <summary>
    /// Called on initialisation, update and whenever a game is won to update the text in all of the components.
    /// </summary>
    void UpdateTextComponents()
    {
        MathsMinigame game = games[currentGame];

        int[]        generatedNumbers    = game.getGeneratedNumbers();
        Operations[] generatedOperations = game.getGeneratedOperations();
        int          result = game.getResult();

        setText(generatedNumbers, generatedOperations, result, null);
    }
    /// <summary>
    /// Check if the player's answer is equal tot eh actual answer
    /// </summary>
    /// <param name="textArr"> The text inside the answer slots </param>
    /// <returns>
    /// Return True if the player's answer is correct. Return False if not
    /// </returns>
    private bool calculateResults(Text[] textArr)
    {
        MathsMinigame game    = games[currentGame];
        int           results = game.getResult();

        Operations[] ops = game.getGeneratedOperations();

        int[] textInts = new int[textArr.Length];
        for (int i = 0; i < textInts.Length; i++)
        {
            textInts[i] = int.Parse(textArr[i].text);
        }

        return(results == MathsMinigame.CalculateResult(textInts, ops));
    }
    public void testRandomness()
    {
        var  minigame              = new MathsMinigame();
        var  firstResult           = minigame.getResult();
        bool existsDifferentResult = false;

        MathsMinigame[] generatedMinigames = new MathsMinigame[30];
        for (int i = 0; i < generatedMinigames.Length; i++)
        {
            generatedMinigames[i] = new MathsMinigame();
            if (firstResult != generatedMinigames[i].getResult())
            {
                existsDifferentResult = true;
            }
        }
        Assert.True(existsDifferentResult);
    }