/// <summary> /// Defines the method to be called when the command is invoked. /// </summary> /// <param name="parameter">Data used by the command. If the /// command does not require data to be passed, this object /// can be set to null.</param> public async void Execute(object parameter) { _canExecute = false; OnCanExecuteChanged(); IsActive = true; CurrentWhoisManager = new WhoisManager(); Task.Factory.StartNew(() => { String result = CurrentWhoisManager.ExecuteWhoisForDomain("=" + DomainName); IEnumerable <String> whoisServers = CurrentWhoisManager.FindWhoisServerInOutput(result); if (whoisServers != null && whoisServers.Count() > 0) { String actualResult = CurrentWhoisManager.ExecuteWhoisForDomain(DomainName, whoisServers.First()); result = actualResult; } App.CurrentDispatcher.Invoke(() => { this.WhoisResult = result; _canExecute = true; OnCanExecuteChanged(); IsActive = false; }); }); }
public void EndToEndTestWithValidArguments_ReturnsExpected() { WhoisManager instance = new WhoisManager(); String results = instance.ExecuteWhoisForDomain("division42.com"); IEnumerable <String> whoisServers = instance.FindWhoisServerInOutput(results); String actualResults = instance.ExecuteWhoisForDomain("division42.com", whoisServers.First()); Assert.IsNotNull(actualResults); }