WriteQueryString() public method

Write the query string to given stream writer.
public WriteQueryString ( StreamWriter writer, bool append = true, int index = -1 ) : void
writer System.IO.StreamWriter The stream writer.
append bool If true, an ampersand will be prepended.
index int The batch index.
return void
Exemplo n.º 1
0
        public void TestWriteQueryString()
        {
            var request = new SubmitRequest("X", 200);

            request.MBID = "M";
            request.Title = "T";
            request.Artist = "A";
            request.Year = 2000;

            string expected = "&duration=200&fingerprint=X&mbid=M&track=T&artist=A&year=2000";

            using (var stream = new MemoryStream())
            using (var writer = new StreamWriter(stream))
            {
                request.WriteQueryString(writer);

                writer.Flush();

                stream.Position = 0;

                using (var reader = new StreamReader(stream))
                {
                    var actual = reader.ReadToEnd();

                    Assert.AreEqual(expected, actual);
                }
            }

            request.Year = 0;

            expected = "duration.0=200&fingerprint.0=X&mbid.0=M&track.0=T&artist.0=A";

            using (var stream = new MemoryStream())
            using (var writer = new StreamWriter(stream))
            {
                request.WriteQueryString(writer, false, 0);

                writer.Flush();

                stream.Position = 0;

                using (var reader = new StreamReader(stream))
                {
                    var actual = reader.ReadToEnd();

                    Assert.AreEqual(expected, actual);
                }
            }
        }