public void CopyTo_Calls_The_ActionOfStream()
        {
            bool actionCalled = false;
            Stream writtenToStream = null;
            Action<Stream> actionOfStream = (stream) =>
            {
                StreamWriter writer = new StreamWriter(stream);
                writer.Write("Hello");
                writer.Flush();
                actionCalled = true;
                writtenToStream = stream;
            };

            ActionOfStreamContent content = new ActionOfStreamContent(actionOfStream);
            Assert.IsFalse(actionCalled, "The actionOfStream should not have been called yet.");

            MemoryStream memoryStream = new MemoryStream();
            content.CopyTo(memoryStream);
            Assert.IsTrue(actionCalled, "The actionOfStream should have been called.");

            memoryStream.Seek(0, SeekOrigin.Begin);
            StreamReader reader = new StreamReader(memoryStream);
            Assert.AreEqual("Hello", reader.ReadToEnd(), "The content should have been 'Hello'.");

            Assert.AreSame(writtenToStream, memoryStream, "The ActionOfStream should have written to the memory stream.");
        }
Esempio n. 2
0
        public void CopyTo_Calls_The_ActionOfStream()
        {
            bool            actionCalled    = false;
            Stream          writtenToStream = null;
            Action <Stream> actionOfStream  = (stream) =>
            {
                StreamWriter writer = new StreamWriter(stream);
                writer.Write("Hello");
                writer.Flush();
                actionCalled    = true;
                writtenToStream = stream;
            };

            ActionOfStreamContent content = new ActionOfStreamContent(actionOfStream);

            Assert.IsFalse(actionCalled, "The actionOfStream should not have been called yet.");

            MemoryStream memoryStream = new MemoryStream();

            content.CopyTo(memoryStream);
            Assert.IsTrue(actionCalled, "The actionOfStream should have been called.");

            memoryStream.Seek(0, SeekOrigin.Begin);
            StreamReader reader = new StreamReader(memoryStream);

            Assert.AreEqual("Hello", reader.ReadToEnd(), "The content should have been 'Hello'.");

            Assert.AreSame(writtenToStream, memoryStream, "The ActionOfStream should have written to the memory stream.");
        }