private static DyalogInterpreter CreateInterpreter(string[] codeFiles = null) { var interpreterSettings = new Dictionary <string, string> { ["RUNASSERVICE"] = "2", ["MAXWS"] = "1G" }; var interpreter = new DyalogInterpreter(null, interpreterSettings) { SingleThreaded = true, DeleteOnUnload = true, UnloadWhenEmpty = false }; if (codeFiles != null) { var aplc = new CodeFile(interpreter); aplc.AttachCodeFiles(codeFiles); aplc.Dispose(); } return(interpreter); }
private void TestLookUpLength(int length, int slot) { var interpreter1 = CreateInterpreter(); var interpreter2 = CreateInterpreter(); var file = Path.Combine(Path.GetTempPath(), $"LookUp{length}.dwx"); File.Delete(file); var test1 = new CodeFile(interpreter1); try { test1.CreateLookUp(file, length, slot); } finally { } Assert.IsTrue(interpreter1.Unload()); var test2 = new CodeFile(interpreter2); try { test2.AttachCodeFiles(new[] { file }); Assert.AreEqual(0, test2.WSCheck()); } finally { } Assert.IsTrue(interpreter2.Unload()); }