/// <summary>
        /// Validation checks when tracing was stopped. E.g. the output file was created if the command line did contain a $FileName parameter
        /// </summary>
        public void VerifySuccesfulStop()
        {
            if (TraceStopNotExpanded.Contains(TraceControlViewModel.TraceFileNameVariable))
            {
                if (!File.Exists(TraceFileName))
                {
                    RootModel.MessageBoxDisplay.ShowMessage($"Error: Output file {RootModel.StopData.TraceFileName} was not found!", "Error");
                }
            }
            else if (TraceStopNotExpanded.Contains(TraceControlViewModel.TraceFileDirVariable))
            {
                string outputDir = TraceControlViewModel.GetDirectoryNameFromFileName(TraceFileName);

                if (!Directory.Exists(outputDir))
                {
                    RootModel.MessageBoxDisplay.ShowMessage($"Error: Output directory {outputDir} does not exist", "Error");
                }
                else
                {
                    int newEtlFiles = Directory.GetFiles(outputDir, "*.etl").Select(x => new FileInfo(x)).Where(x => x.CreationTime > TraceStartTime).Count();

                    if (newEtlFiles == 0)
                    {
                        RootModel.MessageBoxDisplay.ShowMessage($"Error: No new etl files were created in directory {outputDir} since trace start!", "Error");
                    }
                }
            }
        }
        public void CanExtractDirectoryWithPlaceholders()
        {
            string ret = TraceControlViewModel.GetDirectoryNameFromFileName(@"C:\temp\etlFile%COMPUTERNAME%.ETL");

            Assert.AreEqual(@"C:\temp", ret);
        }