summaryrefslogtreecommitdiff
path: root/Source/UnitTests/TestUtil/ProgramLoader.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Source/UnitTests/TestUtil/ProgramLoader.cs')
-rw-r--r--Source/UnitTests/TestUtil/ProgramLoader.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/Source/UnitTests/TestUtil/ProgramLoader.cs b/Source/UnitTests/TestUtil/ProgramLoader.cs
new file mode 100644
index 00000000..bc5f647a
--- /dev/null
+++ b/Source/UnitTests/TestUtil/ProgramLoader.cs
@@ -0,0 +1,33 @@
+using NUnit.Framework;
+using System;
+using Microsoft.Boogie;
+
+namespace TestUtil
+{
+ public class ProgramLoader
+ {
+ public static Program LoadProgramFrom(string programText, string fileName="file.bpl")
+ {
+ Assert.IsNotNullOrEmpty (programText);
+ Assert.IsNotNullOrEmpty (fileName);
+
+
+ int errors = 0;
+ Program p = null;
+ errors = Parser.Parse(programText, fileName, out p, /*useBaseName=*/false);
+ Assert.AreEqual(0, errors);
+ Assert.IsNotNull(p);
+
+ // Resolve
+ errors = p.Resolve();
+ Assert.AreEqual(0, errors);
+
+ // Type check
+ errors = p.Typecheck();
+ Assert.AreEqual(0, errors);
+
+ return p;
+ }
+ }
+}
+