// Update is called once per frame
    void Update()
    {
        Manager.ExecuteTasks(100);

        if (_testIndex == tests.Count)
        {
            Debug.Log("\nFinished Tests!");
            Debug.Log(_successes + " of " + tests.Count + " Succeded");
            Debug.Break();
        }
        else
        {
            AutomatedTest test = tests[_testIndex];

            if (_prevTestIndex != _testIndex)
            {
                Debug.Log("Executing test: " + _testIndex + " - " + test.Name);

                _prevTestIndex = _testIndex;
            }

            test.Run();

            _successes += (test.State == TestState.Succeded) ? 1 : 0;

            if ((test.State == TestState.Succeded) || (test.State == TestState.Failed))
            {
                _testIndex++;
            }
        }
    }
        static AutomatedTestAssignment FindOrCreateAutomatedTestAssignment(RestClient client, Root root, Package executionPackage, AutomatedTest automatedTest)
        {
            if (automatedTest.Id == null) throw new ArgumentException("automatedTest");

            AutomatedTestAssignment automatedTestAssignment = client.GetAutomatedTestAssignmentByPackageAndTestId(root, executionPackage.Id, automatedTest.Id.Value) ??
                                                              client.CreateAutomatedTestAssignmentInPackageId(root, executionPackage.Id, automatedTest.Id.Value);

            return automatedTestAssignment;
        }
        public void StringArrayTest()
        {
            string stringValue = AutomatedTest.Populate <string>();

            Assert.IsTrue(stringValue.Length > 0);
        }