예제 #1
0
 public void CleanUp()
 {
     if (StandardIORedirecter.IsReset() == false)
     {
         StandardIORedirecter.Reset();
     }
 }
예제 #2
0
/// <summary>
/// De tre strängparametrarna som metoden får är de tre strängar som
/// Shortest Path Finder-programmet ska få via <i>standard input</i>. Metoden
/// kopplar sedan om <i>standard input</i> till en sträng som bildats med hjälp
/// av de tre strängparametrarna. Därefter startas programmet som alltså får
/// de tre parametrarna via <i>standard input</i>.<br/><br/>
///
/// Läs specifikationen för att se hur de tre strängarna ska vara skrivna och
/// hur de ges till programmet via <i>standard input</i>)<br/><br/>
///
/// Efter att programmet har avslutats så återställer denna metod <i>standard
/// input</i> och <i>output</i> till sina ursprungslägen.<br/><br/>
///
/// <i>standard input</i> och <i>output</i> får <b>inte</b> ha kopplats om med
/// metoden StandardIORedirecter.redirect() utan att ha återställts innan
/// metoden RunApp() (d.v.s. denna metod) anropas. I sådant fall kommer ett fel
/// att kastas.<br/><br/>
///
/// <b>VARNING: Inga ändringar får göras till denna metod av
/// Lernia Consulting AB.</b>
/// </summary>
/// <param name="nrNodesStr">Ett heltal i form av en sträng som är antalet noder
/// i grafen.</param>
/// <param name="edgesStr">Kanterna i grafen.</param>
/// <param name="startEndStr">Det nodpar som den kortaste stigen ska gå mellan.</param>
/// <returns>En sträng innehållande det som Shortest Path Finder-programmet
/// skrev till <i>standard output</i> under hela sin körning.</returns>
        public static string RunApp(
            string nrNodesStr,
            string edgesStr,
            string startEndStr
            )
        {
            string input =
                nrNodesStr + Environment.NewLine +
                edgesStr + Environment.NewLine +
                startEndStr + Environment.NewLine
            ;

            StandardIORedirecter.Redirect(input);

            Application.Run();

            string output = StandardIORedirecter.getOutput();

            StandardIORedirecter.Reset();

            return(output);
        }