public void TestSerialization() { string song = @"string 1 string 2 string 3 string 4"; var file1 = new BinaryFileLyrics(new Lyrics(song, switcher)); var filePath = file1.Save(); var file2 = new BinaryFileLyrics(filePath); Assert.AreEqual(file1.Lyrics, file2.Lyrics); }
static void Main(string[] args) { try { Console.OutputEncoding = Encoding.UTF8; ILyrics lyrics = null; bool sendSelected = false; if (args.Length == 0) { lyrics = new TextFileLyrics(); // generate Lyrics from text files lyrics.Save(); } else if (args.Length >= 1) { string path = args[0]; Console.WriteLine(path); lyrics = new BinaryFileLyrics(path); // get Lyrics by deserializing } if (args.Length == 2 && args[1].Trim() == "sendSelected") { sendSelected = true; } if (sendSelected) { lyrics.SendSelected(); } else { lyrics.Send(); } } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("!!!!!!!!!!!!!!!!!"); Console.WriteLine(ex.Message); Console.WriteLine("!!!!!!!!!!!!!!!!!"); ExceptionHelper.HandleException(ex); } finally { Console.ResetColor(); Console.WriteLine("Finished"); //Console.ReadLine(); new Reader().ReadLine(3000); } }
private string SaveLyrics() { string binaryFile = ""; try { Lyrics.Selection.OnVerseSelected -= new EventHandler(this.OnVerseSelected); // to avoid {"Type 'System.Windows.Forms.Form' in Assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable var tempSwitcher = Lyrics.Switcher; Lyrics.Switcher = null; binaryFile = new BinaryFileLyrics(Lyrics).Save(); Lyrics.Selection.OnVerseSelected += new EventHandler(this.OnVerseSelected); Lyrics.Switcher = tempSwitcher; } catch (Exception ex) { MessageBox.Show(ex.Message, "ATEM Error"); } return(binaryFile); }