/// <summary>
        /// Base test constructor
        /// </summary>
        public ProcessUtils()
        {
            IoDir = new DevUtils.Io.IoDirectoryUtils();
            IoFiles = new DevUtils.Io.IoFileUtils();

            var directoryPermission = IoDir.GetDirectoryPermission(Directory.GetCurrentDirectory());
            HasFolderPermission = directoryPermission != null &&
                                  directoryPermission.Any(p => p == FileSystemRights.CreateDirectories || p == FileSystemRights.FullControl);
            HasFilePermission = directoryPermission != null &&
                                  directoryPermission.Any(p => p == FileSystemRights.CreateFiles || p == FileSystemRights.FullControl);

            if(!HasFolderPermission || !HasFilePermission)
                Assert.Inconclusive("Invalid credentials");

            #region nugetDir and file
		    var nugetDir = Directory.GetCurrentDirectory();
            var nugetDirMatch = false;
            for (var deep = 0; deep < 10; deep++)
            {
                if(nugetDirMatch)
                    break;

                var parent = IoDir.GetParentDirectory(nugetDir);
                if(parent == null)
                    Assert.Fail("Error getting nuget directory");

                foreach (var dir in parent.GetDirectories())
                {
                    if (!dir.Name.Equals("NuGet", StringComparison.InvariantCultureIgnoreCase)) 
                        continue;

                    ProcessDir = dir.FullName;
                    nugetDirMatch = true;
                    break;
                }

                nugetDir = parent.FullName;
            }
            if (!IoFiles.FileExists(ProcessDir + "/" + ProcessExe))
                Assert.Fail("Error getting nuget file");

            ProcessPath = ProcessDir + "/" + ProcessExe;

            if (!IoFiles.FileExists(Directory.GetCurrentDirectory() + "/" + ProcessExe))
            {
                if (!IoFiles.CopyFile(ProcessPath, Directory.GetCurrentDirectory() + "/" + ProcessExe))
                    Assert.Fail("Error coping nuget file file");
            }
	        #endregion
            
            _processInfo = new ProcessStartInfo(ProcessPath);
            _processUtils = new DevUtils.Proccess.ProcessUtils();

            _processInfo.CreateNoWindow = false;
            _processInfo.UseShellExecute = false;
            _processInfo.WorkingDirectory = ProcessDir;
            _processInfo.FileName = ProcessExe;
            _processInfo.WindowStyle = ProcessWindowStyle.Hidden;
        } 
        /// <summary>
        /// Base test constructor
        /// </summary>
        public ProcessUtils()
        {
            IoDir   = new DevUtils.Io.IoDirectoryUtils();
            IoFiles = new DevUtils.Io.IoFileUtils();

            var directoryPermission = IoDir.GetDirectoryPermission(Directory.GetCurrentDirectory());

            HasFolderPermission = directoryPermission != null &&
                                  directoryPermission.Any(p => p == FileSystemRights.CreateDirectories || p == FileSystemRights.FullControl);
            HasFilePermission = directoryPermission != null &&
                                directoryPermission.Any(p => p == FileSystemRights.CreateFiles || p == FileSystemRights.FullControl);

            if (!HasFolderPermission || !HasFilePermission)
            {
                Assert.Inconclusive("Invalid credentials");
            }

            #region nugetDir and file
            var nugetDir      = Directory.GetCurrentDirectory();
            var nugetDirMatch = false;
            for (var deep = 0; deep < 10; deep++)
            {
                if (nugetDirMatch)
                {
                    break;
                }

                var parent = IoDir.GetParentDirectory(nugetDir);
                if (parent == null)
                {
                    Assert.Fail("Error getting nuget directory");
                }

                foreach (var dir in parent.GetDirectories())
                {
                    if (!dir.Name.Equals("NuGet", StringComparison.InvariantCultureIgnoreCase))
                    {
                        continue;
                    }

                    ProcessDir    = dir.FullName;
                    nugetDirMatch = true;
                    break;
                }

                nugetDir = parent.FullName;
            }
            if (!IoFiles.FileExists(ProcessDir + "/" + ProcessExe))
            {
                Assert.Fail("Error getting nuget file");
            }

            ProcessPath = ProcessDir + "/" + ProcessExe;

            if (!IoFiles.FileExists(Directory.GetCurrentDirectory() + "/" + ProcessExe))
            {
                if (!IoFiles.CopyFile(ProcessPath, Directory.GetCurrentDirectory() + "/" + ProcessExe))
                {
                    Assert.Fail("Error coping nuget file file");
                }
            }
            #endregion

            _processInfo  = new ProcessStartInfo(ProcessPath);
            _processUtils = new DevUtils.Proccess.ProcessUtils();

            _processInfo.CreateNoWindow   = false;
            _processInfo.UseShellExecute  = false;
            _processInfo.WorkingDirectory = ProcessDir;
            _processInfo.FileName         = ProcessExe;
            _processInfo.WindowStyle      = ProcessWindowStyle.Hidden;
        }