Ejemplo n.º 1
0
        public void TestDecodeEncodedBeatmap(string fileName)
        {
            using (var stream = TestResources.OpenLrcResource(fileName))
                using (var sr = new StreamReader(stream))
                {
                    var text = sr.ReadToEnd();
                    // Parser song
                    var parser = new LrcParser();
                    var song   = parser.Decode(text);

                    // Encode to lyric
                    var newLyricText = parser.Encode(song);

                    // Encode and decode result should be same
                    IsLyricEqual(newLyricText, text);
                }
        }
Ejemplo n.º 2
0
        private static Beatmap decode(string filename, out Beatmap encoded)
        {
            using (var stream = TestResources.OpenLrcResource(filename))
                using (var sr = new LineBufferedReader(stream))
                {
                    // Read file and decode to file
                    var legacyDecoded = new LrcDecoder().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 LrcEncoder().Encode(legacyDecoded);
                                sw.WriteLine(encodeResult);
                                sw.Flush();

                                ms.Position = 0;

                                encoded = new LrcDecoder().Decode(sr2);
                                return(legacyDecoded);
                            }
                }
        }