public void Constructor()
        {
            MemoryResponseElement mre;

            AssertExtensions.Throws <ArgumentNullException> (() => {
                mre = new MemoryResponseElement(null, 0);
            }, "#A1");

            AssertExtensions.Throws <ArgumentOutOfRangeException> (() => {
                mre = new MemoryResponseElement(new byte[1], -1);
            }, "#A2");

            AssertExtensions.Throws <ArgumentOutOfRangeException> (() => {
                mre = new MemoryResponseElement(new byte[1], 2);
            }, "#A2");

            var b = new byte[0];

            mre = new MemoryResponseElement(b, 0);
            Assert.AreEqual(b, mre.Buffer, "#B1-1");
            Assert.AreEqual(0, mre.Length, "#B1-2");

            b   = new byte[10];
            mre = new MemoryResponseElement(b, 10);
            Assert.AreEqual(b, mre.Buffer, "#C1-1");
            Assert.AreEqual(10, mre.Length, "#C1-2");

            mre = new MemoryResponseElement(b, 5);
            Assert.AreEqual(b, mre.Buffer, "#D1-1");
            Assert.AreEqual(5, mre.Length, "#D1-2");
        }
Пример #2
0
 void CreateElements(out MemoryResponseElement mre, out FileResponseElement fre, out SubstitutionResponseElement sre,
                     out SubstitutionResponseElement sreBad)
 {
     byte[] bytes = Encoding.UTF8.GetBytes("Encoded data");
     mre    = new MemoryResponseElement(bytes, bytes.Length);
     fre    = new FileResponseElement("/path/to/file.txt", 0, 1234);
     sre    = new SubstitutionResponseElement(new HttpResponseSubstitutionCallback(DummySubstitutionCallback));
     sreBad = new SubstitutionResponseElement(new HttpResponseSubstitutionCallback(DummyBadSubstitutionCallback));
 }
Пример #3
0
        public void Serialize()
        {
            ResponseElement data = new MemoryResponseElement(new byte[10], 10);

            AssertExtensions.Throws <ArgumentNullException> (() =>
            {
                OutputCache.Serialize(null, data);
            }, "#A1");

            var ms = new MemoryStream();

            AssertExtensions.Throws <ArgumentException> (() =>
            {
                OutputCache.Serialize(ms, null);
            }, "#A2");

            foreach (object o in serializeObjects)
            {
                AssertExtensions.Throws <ArgumentException> (() =>
                {
                    OutputCache.Serialize(ms, o);
                }, String.Format("#A3-{0}", o.GetType()));
            }

            MemoryResponseElement       mre;
            FileResponseElement         fre;
            SubstitutionResponseElement sre, sreBad;

            CreateElements(out mre, out fre, out sre, out sreBad);
            // WriteSerializedBytes ("/tmp/bytes.txt", "memoryResponseElement", mre);
            // WriteSerializedBytes ("/tmp/bytes.txt", "fileResponseElement", fre);
            // WriteSerializedBytes ("/tmp/bytes.txt", "substitutionResponseElement", sre);
            // WriteSerializedBytes ("/tmp/bytes.txt", "badSubstitutionResponseElement", sreBad);

            byte[] bytes = SerializeElement(mre);
            AssertExtensions.AreEqual(bytes, memoryResponseElement, "#B1");

            bytes = SerializeElement(fre);
            AssertExtensions.AreEqual(bytes, fileResponseElement, "#B2");

            bytes = SerializeElement(sre);
            AssertExtensions.AreEqual(bytes, substitutionResponseElement, "#B3");

            bytes = SerializeElement(sreBad);
            AssertExtensions.AreEqual(bytes, badSubstitutionResponseElement, "#B3");
        }
Пример #4
0
        private object CreateHttpResponseBufferElement(MemoryResponseElement e)
        {
            int size = System.Convert.ToInt32(e.Length);

            return(HttpResponseBufferElement_Ctor.Invoke(new object[] { e.Buffer, size }));
        }