public void Test_StdInWorks() { var testInfo = new IntegrationTestInfo("StdInWorks.ll"); testInfo.StdIn = @"2 3 5 6 7 8 9 411 419 0 "; testInfo.StdOut = @"Enter 0 at any time to quit. 2 is a prime number 3 is a prime number 5 is a prime number 6 is not a prime number 7 is a prime number 8 is not a prime number 9 is not a prime number 411 is not a prime number 419 is a prime number"; Test(testInfo); }
public void Test_PrintPrimesWithInlineLambda() { var testInfo = new IntegrationTestInfo("PrintPrimesWithInlineLambda.ll"); testInfo.StdIn = @"2 3 5 6 7 8 9 411 419 0 "; testInfo.StdOut = @"Enter 0 at any time to quit. 2 is a prime number 3 is a prime number 5 is a prime number 6 is not a prime number 7 is a prime number 8 is not a prime number 9 is not a prime number 411 is not a prime number 419 is a prime number"; Test(testInfo); }
public void Test_Rank32Matrix() { var info = new IntegrationTestInfo("Rank32Matrix.ll"); info.StdIn = @"5 "; info.StdOut = @"Your number: 5 "; Test(info); }
public void Test_CastsAndForeach() { var testInfo = new IntegrationTestInfo("Casts.ll"); testInfo.StdIn = @"2 3 5 6 7 8 9 411 419 0 "; testInfo.StdOut = @"2 3 5 6 7 8 9 411 419 0 "; Test(testInfo); }
protected void Test(IntegrationTestInfo testInfo) { var filePath = Path.Combine(TestBase.GetTestDirectory(), "TestExecutable"); var exePath = filePath + ".exe"; var pdbPath = filePath + ".pdb"; var files = testInfo.SourceFiles.Select(file => Path.Combine(IntegrationTestsPath, "SourceFiles", file)); var references = testInfo.AdditionalReferences.Select(reference => string.Format("/ref:{0}", reference)); Build(files, references, exePath); PEVerifyRunner.Run(exePath); Run(exePath, testInfo); }
public void Test_ArrayItemSwap() { var testInfo = new IntegrationTestInfo("ArrayItemSwap.ll"); testInfo.StdIn = @"2 3 5 6 7 8 9 411 419 0 1 5 "; testInfo.StdOut = @"2 8 5 6 7 3 9 411 419 0 "; Test(testInfo); }
private void Run(string path, IntegrationTestInfo testInfo) { var stdout = ManagedCodeRunner.CreateProcessAndRun(path, testInfo.Arguments, testInfo.StdIn, kRunTimeOut); Assert.AreEqual(testInfo.StdOut.Trim(), stdout.Trim()); }