public void TestConsoleTextEditor() { string[][] queries = new string[][] { new [] { "APPEND", "Hey" }, new [] { "APPEND", " you" }, new [] { "APPEND", ", don't" }, new[] { "APPEND", " " }, new [] { "APPEND", "let me down" } }; string[] output = { "Hey", "Hey you", "Hey you, don't", "Hey you, don't ", "Hey you, don't let me down" }; ConsoleTextEditor consoleTextEditor = new ConsoleTextEditor(); string[] my = consoleTextEditor.textEditor1_2(queries); Assert.AreEqual(output, my); queries = new string[][] { new[] { "APPEND", "Hey, you!" }, new[] { "BACKSPACE" }, new[] { "APPEND", "? Impossibel!" }, new[] { "BACKSPACE" }, new[] { "BACKSPACE" }, new[] { "BACKSPACE" }, new[] { "APPEND", "le!" } }; output = new string[] { "Hey, you!", "Hey, you", "Hey, you? Impossible!", "Hey, you? Impossibe", "Hey, you? Impossible", "Hey, you? Impossib", "Hey, you? Impossible!" }; my = consoleTextEditor.textEditor1_2(queries); Assert.AreEqual(output, my); }
public MainWindow() { InitializeComponent(); Utilities.ResourceToList("Resources/keywords.setting", _keywords); Utilities.ResourceToList("Resources/methods.setting", _methods); Utilities.ResourceToList("Resources/snippets.setting", _snippets); _viewModel = DataContext as ViewModel; _completionDatas = new List <ICompletionData>(); foreach (var method in _methods) { _completionDatas.Add(new CompletionData(method)); } _uiThreadScheduler = TaskScheduler.FromCurrentSynchronizationContext(); _uiDispatcher = Dispatcher.CurrentDispatcher; RefreshSerialPort(); InitConnect(); SerialPort.GetInstance().IsWorkingChanged += delegate(bool isWorking) { EnsureWorkInUiThread(() => { CompileButton.IsEnabled = DeleteButton.IsEnabled = RunButton.IsEnabled = ConnectButton.IsEnabled = CommandTextBox.IsEnabled = UploadButton.IsEnabled = DownloadButton.IsEnabled = !isWorking; CompileMenuItem.IsEnabled = DeleteMenuItem.IsEnabled = RunMenuItem.IsEnabled = ConnectMenuItem.IsEnabled = UploadMenuItem.IsEnabled = DownloadMenuItem.IsEnabled = !isWorking; }); }; SerialPort.GetInstance().OnDataReceived += delegate(string data) { EnsureWorkInUiThread(() => { ConsoleTextEditor.AppendText(data); ConsoleTextEditor.ScrollToEnd(); }); }; StartBackgroundSerialPortUpdateThread(); StartBackgroundUpdateThread(); new Task(() => { const string updateLink = "http://nodemcu-studio-2015.coding.io/pre_build/NodeMCU%20Studio%202015.exe"; var req = WebRequest.Create( updateLink); req.Method = "HEAD"; using (var resp = req.GetResponse()) { Int32 contentLength; if (Int32.TryParse(resp.Headers.Get("Content-Length"), out contentLength)) { var fileLength = new FileInfo(Assembly.GetExecutingAssembly().Location).Length; if (fileLength != contentLength) { if (MessageBox.Show("A new version is available. Download?", "NodeMCU Studio 2015", MessageBoxButton.YesNo, MessageBoxImage.Information, MessageBoxResult.Yes) == MessageBoxResult.Yes) { Process.Start("NodeMcu Updataer.exe"); } } } } }).Start(); }