public static void FileClick(object sender, KeyEventArgs e)
        {
            TreeViewItem item = (TreeViewItem)sender;
            string       path = item.Tag.ToString();

            if (e.Key == Key.F3)
            {
                string      ext = Path.GetExtension(path);
                FileFactory factory;
                FileClient  client;
                switch (ext)
                {
                case ".txt":
                    factory = new TextFileFactory();
                    client  = new FileClient(factory, path);
                    client.Open();
                    break;

                case ".html":
                    factory = new HtmlFileFactory();
                    client  = new FileClient(factory, path);
                    client.Open();
                    break;

                case ".xml":
                    factory = new XmlFileFactory();
                    client  = new FileClient(factory, path);
                    client.Open();
                    break;

                default:
                    try
                    {
                        Process.Start(path);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    break;
                }
                e.Handled = true;
            }
            if (e.Key == Key.F8)
            {
                new MyFile(path).Delete();
            }
            if (e.Key == Key.F5)
            {
                new MyFile(path).Copy();
            }
            if (e.Key == Key.F4)
            {
                new MyFile(path).Cut();
            }
        }
        public void TestXmlileFactory_createXml_ReturnXmlFileObject()
        {
            var result = new XmlFileFactory().Create();

            Assert.That(result, Is.TypeOf <XmlReader>());
        }