private void VagrantWrapper_OnOutputMessageReceived(object _, VagrantMessageEventHandler e) { this.SafeInvoke(() => { if (string.IsNullOrEmpty(e.Message)) { return; } //非同期なのでWaitForExitが終わってからここが書かれるケースもある consoleTextBox.HideSelection = false; consoleTextBox.AppendText(e.Message + Environment.NewLine); var vagrantData = new VagrantData(); if (vagrantData.GetVagrantDataParseCommandLine(e.Message)) { UpdaetVagrantData(vagrantData); } var vagrantBoxData = new VagrantBoxData(); if (vagrantBoxData.GetVagrantBoxDataParseCommandLine(e.Message)) { UpdaetVagrantBoxData(vagrantBoxData); } removeButton.Enabled = (_vagrantBoxDatas.Count > 0); initButton.Enabled = (_vagrantBoxDatas.Count > 0); }); }
public void VagrantDataの追加処理() { var data = new VagrantData(); data.Name = "default"; _vagrantDatas.Add(data); Assert.IsTrue(_vagrantDatas[0].Name == data.Name); }
private void UpdaetVagrantData(VagrantData vagrantData) { //既に名前があれば更新、なければ追加 var hit = _vagrantDatas.SingleOrDefault(v => v.Name == vagrantData.Name); if (hit != null) { hit.Status = vagrantData.Status; hit.Provider = vagrantData.Provider; SetStatus(hit.Status); } else { _vagrantDatas.Add(vagrantData); SetStatus(vagrantData.Status); } vagrantDataGridView.Invalidate(); vagrantDataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); }
public void 適当な文字列を渡してパースに失敗() { var data = new VagrantData(); Assert.IsTrue(data.GetVagrantDataParseCommandLine("a") == false); }
public void ちゃんとした文字列でもprovider名が違ったらパースに失敗() { var data = new VagrantData(); Assert.IsTrue(data.GetVagrantDataParseCommandLine("a (b) ") == false); }
public void ちゃんとした文字列でprovider名がvirtualboxの時だけ成功() { var data = new VagrantData(); Assert.IsTrue(data.GetVagrantDataParseCommandLine("HogeName Status (virtualbox) ")); }