diff options
Diffstat (limited to 'Source/UnitTests/TestUtil/ProgramLoader.cs')
-rw-r--r-- | Source/UnitTests/TestUtil/ProgramLoader.cs | 33 |
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; + } + } +} + |