private void openFile(string filePath)
        {
            try
            {
                DialogResult result = DialogResult.No;

                if (_changed)
                {
                    // Prompt to save if currently loaded has changed.
                    result = promptToSave();
                }

                if (result != DialogResult.Cancel)
                {
                    if (result == DialogResult.Yes)
                    {
                        saveFile();
                    }

                    if (string.IsNullOrEmpty(filePath))
                    {
                        m_openFileDialog.InitialDirectory = TestProperties.ExpandString(TestProperties.TestConfigs);
                        result    = this.m_openFileDialog.ShowDialog(this);
                        _filePath = m_openFileDialog.FileName;
                    }
                    else
                    {
                        result = DialogResult.OK;
                    }

                    if (result == DialogResult.OK)
                    {
                        var testListeners = TestListenerCollection.DeserializeFromFile(_filePath);
                        displayListenerCollection(testListeners);
                        _testListeners = testListeners;
                        m_testListenersTreeView.Nodes[0].ToolTipText = _filePath;
                        markAsUnchanged();
                    }
                }
            }
            catch (System.Runtime.Serialization.SerializationException)
            {
                DisplayErrorMessage(
                    string.Format("Unable to access file:\r\n\r\n\"{0}\".\r\n\r\nPlease verify it is valid test listener configuration file.",
                                  m_openFileDialog.FileName));
            }
            catch (Exception exp)
            {
                DisplayErrorMessage(exp.Message);
            }
        }
        public TestVerdict TestListeners()
        {
            try
            {
                var testListeners = new TestListenerCollection();

                var parameters = new Dictionary <string, string>();
                parameters.Add("Param1", "Value1");
                parameters.Add("Param2", "Value2");

                var testListener = new TestListenerDescriptor()
                {
                    Name        = "My listener",
                    Description = "My description",
                    Assembly    = @"C:\temp\library",
                    OnFailure   = OnFailure.Stop,
                    Status      = Status.Inactive,
                    Parameters  = parameters
                };

                testListeners.Add(testListener);

                var property = new TestProperty("TestListeners", "description", @"C:\temp", true);
                TestProperties.AddProperty(property);

                TestListenerCollection.SerializeToFile(testListeners, @"c:\temp\testlisteners.confg");

                var bob = TestListenerCollection.DeserializeFromFile(@"c:\temp\testlisteners.confg");

                TestMessage += "Success";
                TestVerdict  = TestVerdict.Pass;
            }
            catch (Exception e)
            {
                TestMessage += e.ToString();
                TestVerdict  = TestVerdict.Error;
            }
            finally
            {
            }

            return(TestVerdict);
        }