/// <summary> /// Performs the calculation by starting a Hydra-Ring process. /// </summary> /// <param name="workingDirectory">The directory of the process.</param> /// <param name="hydraRingInitializationService">The <see cref="HydraRingConfigurationService"/>.</param> /// <exception cref="Win32Exception">Thrown when there was an error in opening the associated file /// or the wait setting could not be accessed.</exception> private void PerformCalculation(string workingDirectory, HydraRingInitializationService hydraRingInitializationService) { hydraRingProcess = HydraRingProcessFactory.Create( hydraRingInitializationService.MechanismComputationExeFilePath, hydraRingInitializationService.IniFilePath, workingDirectory); hydraRingProcess.Start(); hydraRingProcess.WaitForExit(); hydraRingProcess.Close(); hydraRingProcess = null; }
public void Create_ReturnsExpectedProcess() { // Call const string iniFilePath = "D:\\iniFile.text"; const string workingDirectory = "D:\\workingDirectory"; const string mechanismComputationExeFilePath = "D:\\mechanismComputation.exe"; Process process = HydraRingProcessFactory.Create(mechanismComputationExeFilePath, iniFilePath, workingDirectory); // Assert Assert.AreEqual(mechanismComputationExeFilePath, process.StartInfo.FileName); Assert.AreEqual(iniFilePath, process.StartInfo.Arguments); Assert.AreEqual(workingDirectory, process.StartInfo.WorkingDirectory); Assert.IsFalse(process.StartInfo.UseShellExecute); Assert.IsTrue(process.StartInfo.CreateNoWindow); Assert.IsTrue(process.StartInfo.RedirectStandardInput); Assert.IsTrue(process.StartInfo.RedirectStandardOutput); Assert.IsTrue(process.StartInfo.RedirectStandardError); }