Exemplo n.º 1
0
        public void SameObjectRepeatedInArray()
        {
            object o = new object();

            object[] arr    = new[] { o, o, o, o, o };
            object[] result = BinaryFormatterHelpers.Clone(arr);

            Assert.Equal(arr.Length, result.Length);
            Assert.NotSame(arr, result);
            Assert.NotSame(arr[0], result[0]);
            for (int i = 1; i < result.Length; i++)
            {
                Assert.Same(result[0], result[i]);
            }
        }
Exemplo n.º 2
0
        public void RegexExceptionSerializable()
        {
            try
            {
#pragma warning disable RE0001  // Regex issue: {0}
                new Regex("*"); // parsing "*" - Quantifier {x,y} following nothing.
#pragma warning restore RE0001  // Regex issue: {0}
            }
            catch (ArgumentException ex)
            {
                Assert.Equal(ex.GetType().Name, "RegexParseException");
                ArgumentException clone = BinaryFormatterHelpers.Clone(ex);
                Assert.IsType <ArgumentException>(clone);
            }
        }
        public void SerializeNonSerializableTypeWithSurrogate()
        {
            var p = new NonSerializablePair <int, string>()
            {
                Value1 = 1, Value2 = "2"
            };

            Assert.False(p.GetType().IsSerializable);
            Assert.Throws <SerializationException>(() => BinaryFormatterHelpers.Clone(p));

            NonSerializablePair <int, string> result = BinaryFormatterHelpers.Clone(p, new NonSerializablePairSurrogate());

            Assert.NotSame(p, result);
            Assert.Equal(p.Value1, result.Value1);
            Assert.Equal(p.Value2, result.Value2);
        }
 public void Roundtrip_ArrayContainingArrayAtNonZeroLowerBound()
 {
     BinaryFormatterHelpers.Clone(Array.CreateInstance(typeof(uint[]), new[] { 5 }, new[] { 1 }));
 }