private static string SerializePlaylist(IPlaylist playlist, Format fileFormat)
        {
            switch (fileFormat)
            {
            case Format.XSPF:
                var xspfSerializer = new XspfSerializer();
                var xspfPl         = new XspfPlaylist(playlist);
                return(xspfSerializer.Serialize(xspfPl));

            case Format.WPL:
                var wplSerializer = new WplSerializer();
                var wplPlaylist   = new WplPlaylist(playlist);
                return(wplSerializer.Serialize(wplPlaylist));

            case Format.M3U:
                var m3USerializer = new M3uSerializer();
                var m3UPlaylist   = new M3uPlaylist(playlist);
                return(m3USerializer.Serialize(m3UPlaylist));

            case Format.ASX:
                var asxSerializer = new AsxSerializer();
                var asxPlaylist   = new AsxPlaylist(playlist);
                return(asxSerializer.Serialize(asxPlaylist));

            case Format.PLS:
                var plsSerializer = new PlsSerializer();
                var plsPlaylist   = new PlsPlaylist(playlist);
                return(plsSerializer.Serialize(plsPlaylist));
            }

            return(String.Empty);
        }
示例#2
0
        public void Serialize_NullInput_ThrowException()
        {
            var serializer = new AsxSerializer();

            var output = serializer.Serialize(null);

            output.Should().BeEmpty();
        }
示例#3
0
        public void Serialize_EmptyEntryIsParsed()
        {
            var playlist = new AsxPlaylist();

            playlist.Add(new AsxItem(string.Empty));
            var serializer = new AsxSerializer();

            var actual = serializer.Serialize(playlist);

            actual.Should().Be("<asx />");
        }
示例#4
0
        public void Serialize_TitleOnlyIsParsedAsExpected_Foo()
        {
            var playlist = new AsxPlaylist {
                Title = "Foo"
            };
            var serializer = new AsxSerializer();

            var output = serializer.Serialize(playlist);

            output.Should().Contain("<title>Foo</title>");
        }
示例#5
0
        public void Serialize_VersionIsParsedAsExpected()
        {
            var playlist = new AsxPlaylist {
                Version = "1.0"
            };
            var serializer = new AsxSerializer();

            var output = serializer.Serialize(playlist);

            output.Should().Be(@"<asx version=""1.0"" />");
        }
示例#6
0
        public void Serialize_OnlyParamIsParsed_FooToBar()
        {
            var playlist = new AsxPlaylist();

            playlist.Add(new AsxItem(string.Empty));
            var asxItem = playlist.Items.First();

            asxItem.Tags["Foo"] = "Bar";
            var serializer = new AsxSerializer();

            var actual = serializer.Serialize(playlist);

            actual.Should().Be("<asx />");
        }
        public void Serialize_NullInput_ThrowException()
        {
            var output = serializer.Serialize(null);

            Assert.True(output == string.Empty);
        }