public void Run(ProcessStartInfo processStartInfo, WixFiles theWixFiles, OnCompleteDelegate onComplete) { if (IsBusy) { throw new WixEditException("OutputPanel is already busy."); } wixFiles = theWixFiles; onCompletedOutput = onComplete; invokeClearRTF = new DelegateClearRtf(ClearRtf); invokeOutput = new DelegateOutput(Output); invokeOutputLine = new DelegateOutputLine(OutputLine); invokeOutputStart = new DelegateOutputStart(OutputStart); invokeOutputDone = new DelegateOutputDone(OutputDone); invokeProcessDone = new DelegateProcessDone(ProcessDone); isCancelled = false; buildMenu.MenuItems.Add(cancelMenuItem); outputTextBox.Cursor = Cursors.WaitCursor; currentProcessStartInfo = processStartInfo; currentProcessThread = new Thread(new ThreadStart(InternalThreadRunSingle)); currentProcessThread.Start(); }
public void Day5Part2Test(List <long> code, int input, int expectedOutput) { var io = new IntCodeComputerIO(new List <long>() { input }); long output = default; var outputFunc = new DelegateOutput((long i) => output = i); var intCodeComputer = new IntCodeComputerInstance(code, io, outputFunc); intCodeComputer.Compute(); Assert.IsTrue(output == expectedOutput); }
public void Day9Test3() { var code = new List <long>() { 104, 1125899906842624, 99 }; var io = new IntCodeComputerIO(new List <long>()); long output = default; var outputFunc = new DelegateOutput((long i) => output = i); var intCodeComputer = new IntCodeComputerInstance(code, io, outputFunc); intCodeComputer.ContinueAfterOutput = true; intCodeComputer.Compute(); Assert.IsTrue(1125899906842624 == output); }
public void Day9Test2() { var code = new List <long>() { 1102, 34915192, 34915192, 7, 4, 7, 99, 0 }; var io = new IntCodeComputerIO(new List <long>()); long output = default; var outputFunc = new DelegateOutput((long i) => output = i); var intCodeComputer = new IntCodeComputerInstance(code, io, outputFunc); intCodeComputer.ContinueAfterOutput = true; intCodeComputer.Compute(); Assert.IsTrue(16 == output.ToString().Length); }
public void Day9Test1() { var origCode = new List <long>() { 109, 1, 204, -1, 1001, 100, 1, 100, 1008, 100, 16, 101, 1006, 101, 0, 99 }; var code = origCode.ToList(); var io = new IntCodeComputerIO(new List <long>()); var output = new List <long>(); var outputFunc = new DelegateOutput((long i) => output.Add(i)); var intCodeComputer = new IntCodeComputerInstance(code, io, outputFunc); intCodeComputer.ContinueAfterOutput = true; intCodeComputer.Compute(); Assert.IsTrue(origCode.SequenceEqual(output)); }
public OutputPanel(EditorForm editorForm, IconMenuItem buildMenu) { this.editorForm = editorForm; this.buildMenu = buildMenu; TabStop = true; outputTextBox = new OutputTextbox(); outputTextBox.Dock = DockStyle.Fill; outputTextBox.ScrollBars = RichTextBoxScrollBars.Both; outputTextBox.WordWrap = WixEditSettings.Instance.WordWrapInResultsPanel; outputTextBox.AllowDrop = false; Controls.Add(outputTextBox); outputTextBox.TabStop = true; outputTextBox.HideSelection = false; outputTextBox.MouseUp += new MouseEventHandler(outputTextBox_MouseDown); doubleClickTimer.Interval = 100; doubleClickTimer.Tick += new EventHandler(doubleClickTimer_Tick); cancelMenuItem = new IconMenuItem(); cancelMenuItem.Text = "Cancel Action"; cancelMenuItem.Click += new EventHandler(cancelMenuItem_Click); cancelMenuItem.Shortcut = Shortcut.CtrlC; cancelMenuItem.ShowShortcut = true; invokeClearRTF = new DelegateClearRtf(ClearRtf); invokeOutput = new DelegateOutput(Output); invokeOutputLine = new DelegateOutputLine(OutputLine); invokeOutputStart = new DelegateOutputStart(OutputStart); invokeOutputDone = new DelegateOutputDone(OutputDone); invokeProcessDone = new DelegateProcessDone(ProcessDone); }
public Bandaid(DelegateOutput _Debug, DelegateOutput _Output) { Debug = _Debug; Output = _Output; }