示例#1
0
        [TestCase(2560, 3)]   //メモリで動作
        public void DynamicTest(int block, int count)
        {
            var ws = new WebStream(-1);//limitを指定しないで-1でダイナミックに初期化する

            var dmy = new byte[block];

            for (var i = 0; i < block; i++)
            {
                dmy[i] = (byte)i;
            }
            for (var i = 0; i < count; i++)
            {
                ws.Add(dmy);
            }

            var buf = new byte[block];

            for (var i = 0; i < count; i++)
            {
                var len = ws.Read(buf, 0, buf.Length);
                Assert.AreEqual(len, block);
                Assert.AreEqual(buf[0], 0);
                Assert.AreEqual(buf[1], 1);
                Assert.AreEqual(buf[2], 2);
            }
            ws.Dispose();
        }
示例#2
0
        public void AddTest(int block, int count)
        {
            var max = block * count;
            var ws  = new WebStream(max);

            var dmy = new byte[block];

            for (var i = 0; i < block; i++)
            {
                dmy[i] = (byte)i;
            }
            for (var i = 0; i < count; i++)
            {
                ws.Add(dmy);
            }

            var buf = new byte[block];

            for (var i = 0; i < count; i++)
            {
                var len = ws.Read(buf, 0, buf.Length);
                Assert.AreEqual(len, block);
                Assert.AreEqual(buf[0], 0);
                Assert.AreEqual(buf[1], 1);
                Assert.AreEqual(buf[2], 2);
            }
            ws.Dispose();
        }
示例#3
0
        [TestCase(256, 1)]     //1で1Mbyte
        //[TestCase(1000000, 2000)] //1で1Mbyte 自作cat.exeでは200MByteまでしか対応できない
        public void StartTest(int block, int count)
        {
            var srcDir = string.Format("{0}\\WebServerTest", TestUtil.ProjectDirectory());

            //こちらの自作cat.exeでは、200Mbyteまでしか対応できていない
            var execProcess = new ExecProcess(string.Format("{0}\\cat.exe", srcDir), "", srcDir, null);

            var buf = new byte[block];

            for (var b = 0; b < block; b++)
            {
                buf[b] = (byte)b;
            }
            var inputStream = new WebStream(block * count);

            for (var i = 0; i < count; i++)
            {
                inputStream.Add(buf);
            }
            WebStream outputStream;

            execProcess.Start(inputStream, out outputStream);

            for (var i = 0; i < count; i++)
            {
                var len = outputStream.Read(buf, 0, buf.Length);
                Assert.AreEqual(len, block);
                if (i == 0)
                {
                    Assert.AreEqual(buf[0], 0);
                    Assert.AreEqual(buf[1], 1);
                    Assert.AreEqual(buf[2], 2);
                }
            }

            outputStream.Dispose();
            inputStream.Dispose();
        }