public void Test_unzipingFileUsingTaskAndDirectFetch()
        {
            bool   taskCallbackWasInvoked = false;
            string fileToFecthAndUnzip    = O2CoreResources.DemoOzasmtFile_Hacmebank_WebServices;
            string directlyFecthedFile    =
                MockObjects_Helpers.fetchTestFileFromDeployServer_AndUnzipIt(fileToFecthAndUnzip);

            Assert.That(File.Exists(directlyFecthedFile), "directlyFecthedFile doesn't exist");

            var task = new Task_Unzip(fileToFecthAndUnzip);

            TaskUtils.executeTask(task,
                                  (_task, taskStatus) =>
            {
                if (taskStatus == TaskStatus.Completed_OK ||
                    taskStatus == TaskStatus.Completed_Failed)
                {
                    // Thread.Sleep(300); // if the zip file is local we will need to wait a little bit so that the assert below (which tests for async execution) has time to be tested
                    taskCallbackWasInvoked = true;
                }
            });

            /*Assert.That(taskCallbackWasInvoked == false, "on Async execution taskCallbackWasInvoked should be false here");
             * var maxSleeps = 5;
             * while (false == taskCallbackWasInvoked && maxSleeps-- > 0)
             *  Thread.Sleep(250);
             *
             * Assert.That(taskCallbackWasInvoked, "taskCallbackWasInvoked == false");
             */
            checkIfExecutionIsAsync(ref taskCallbackWasInvoked);

            // check that we received the unzipped file ok
            Assert.That(task.taskStatus == TaskStatus.Completed_OK, "task.getTaskStatus() != TaskStatus.Completed_OK");
            Assert.That(task.resultsObject != null, "results object == null");
            Assert.That(task.resultsObject is List <string>, "results object should be an List<string> object");
            Assert.That(((List <string>)task.resultsObject).Count == 1, "There should only be 1 unzipped file");
            string fileFetchedUsingTask = ((List <string>)task.resultsObject)[0];

            Assert.That(File.Exists(fileFetchedUsingTask),
                        "resultsObject should be a file that exists on this: " + fileFetchedUsingTask);

            // compare both files
            string fileContents_DirectlyFetched = Files.getFileContents(directlyFecthedFile);

            Assert.That(fileContents_DirectlyFetched.Length > 0, " fileContents_DirectlyFetched size was 0");
            string fileContents_TaskFetched = Files.getFileContents(fileFetchedUsingTask);

            Assert.That(fileContents_TaskFetched.Length > 0, " fileContents_DirectlyFetched size was 0");
            Assert.That(fileContents_DirectlyFetched == fileContents_TaskFetched,
                        "File contents of two fetched files don't match");
            //Assert.That((string)task.resultsObject == directlyFecthedFile, "task.resultsObject != directlyFecthedFile");
        }
        public void test_OzasmtFileUsingTask()
        {
            string ozasmtFile =
                MockObjects_Helpers.fetchTestFileFromDeployServer_AndUnzipIt(
                    O2CoreResources.DemoOzasmtFile_Hacmebank_WebServices);

            Assert.That(File.Exists(ozasmtFile), "demoFileContents does not exist");
            var task = new Task_LoadAssessmentFiles(new O2AssessmentLoad_OunceV6(), ozasmtFile);

            Assert.That(task.execute(), "Task execution failed");
            Assert.That(task.resultsObject is IO2Assessment, "resultsObject was not O2Assessment");
            var resultsObject = (IO2Assessment)task.resultsObject;

            Assert.That(resultsObject.o2Findings.Count > 0, "No Findings");
            Assert.That(resultsObject.name != null, "results.name was null");

            /*     Assert.That(resultsObject.lastOzasmtImportFile != null, "results.name was null");
             *   Assert.That(resultsObject.lastOzasmtImportTimeSpan.Milliseconds > 0,
             *               "lastOzasmtImportTimeSpan.Milliseconds = 0");
             *   Assert.That(resultsObject.lastOzasmtImportFileSize > 0, "lastOzasmtImportFileSize = 0");*/
        }