예제 #1
0
        public void CanUseProxyToFileAsync()
        {
            var proxy = new StreamProxy();

            var source  = new MemoryStream(Encoding.UTF8.GetBytes("test"));
            var target1 = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
            var target2 = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());

            var task = proxy.ProxyAsync(source, target1, target2);

            task.Wait();
            var target1Got = File.ReadAllText(target1);
            var target2Got = File.ReadAllText(target2);

            Assert.NotNull(target1Got);
            Assert.NotNull(target2Got);

            Assert.AreEqual(target1Got, target2Got);
            Assert.AreEqual("test", target1Got);
        }
예제 #2
0
        public void CanUseProxyAsync()
        {
            var proxy = new StreamProxy();

            var source  = new MemoryStream(Encoding.UTF8.GetBytes("test"));
            var target1 = new MemoryStream();
            var target2 = new MemoryStream();

            var task = proxy.ProxyAsync(source, target1, target2);

            task.Wait();
            var bytes = task.Result;

            target1.Position -= bytes;
            target2.Position -= bytes;
            var target1Got = new StreamReader(target1).ReadToEnd();
            var target2Got = new StreamReader(target2).ReadToEnd();

            Assert.NotNull(target1Got);
            Assert.NotNull(target2Got);

            Assert.AreEqual(target1Got, target2Got);
            Assert.AreEqual("test", target1Got);
        }