public void Import_ExportedLevel_SameLevel()
        {
            // Create simple levelstring.
            string levelString = "width=10\r\nheight=10\r\n";
            levelString += "start=0,1\r\nfinish=0,2\r\n";
            levelString += "1,2=tile\r\n4,4=ghost\r\n";

            // Import from levelstring to ILevel object.
            ILevelImporter importer = new LevelImporter(new StringReader(levelString));
            ILevel level = importer.ImportLevel();

            // Export from imported ILevel to string.
            StringWriter writer = new StringWriter();
            ILevelExporter exporter = new LevelExporter(writer);
            exporter.ExportLevel(level);

            // Levelstrings should be exactly the same.
            Assert.AreEqual(levelString, writer.LevelString);
        }
 /// <summary>
 /// Shows a filedialog to load a level.
 /// Will show an error message if the file is not a valid level file.
 /// </summary>
 private void LoadLevelDialog()
 {
     FileDialog dialog = new OpenFileDialog();
     dialog.Filter = "Level files (*.level)|*.level";
     if (dialog.ShowDialog() == DialogResult.OK)
     {
         ILevelImporter levelImporter = new LevelImporter(dialog.FileName);
         try
         {
             levelPanel.Level = levelImporter.ImportLevel();
         }
         catch (ArgumentException ex)
         {
             MessageBox.Show(ex.Message, "Cannot load level",
                 MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }