public void StandardInput() { var handle = ProcessHolder.SpawnWithRedirect("sort.exe", "", true, true, true); Assert.AreNotEqual(ProcessHolder.INVALID_HANDLE, handle); ProcessHolder.SetCreateNoWindow(handle, true); ProcessHolder.Start(handle); //ソート対象の文字列 ProcessHolder.WriteLineStandardInput(handle, "xyz"); ProcessHolder.WriteLineStandardInput(handle, "abc"); ProcessHolder.WriteLineStandardInput(handle, "3"); //Ctl-c 相当 ProcessHolder.CloseStandardInput(handle); ProcessHolder.WaitForExit(handle); { var textOutput = ProcessHolder.ReadStandardOutputAsString(handle); Assert.AreEqual("3\nabc\nxyz", textOutput); } { var textError = ProcessHolder.ReadStandardErrorAsString(handle); Assert.AreEqual("", textError); } ProcessHolder.Destroy(handle); }