private static KaraokeSkin decode(string filename, out KaraokeSkin encoded) { using (var stream = TestResources.OpenSkinResource(filename)) using (var sr = new LineBufferedReader(stream)) { // Read file and decode to file var legacyDecoded = new KaraokeSkinDecoder().Decode(sr); using (var ms = new MemoryStream()) using (var sw = new StreamWriter(ms)) using (var sr2 = new LineBufferedReader(ms)) { // Then encode file to stream var encodeResult = new KaraokeSkinEncoder().Encode(legacyDecoded); sw.WriteLine(encodeResult); sw.Flush(); ms.Position = 0; // Decode result from stream encoded = new KaraokeSkinDecoder().Decode(sr2); return(legacyDecoded); } } }
public string Encode(KaraokeSkin output) => output.Serialize();