Example #1
0
        public void ILSerializer_SerializesObjectWithHooks()
        {
            var input = new SimpleISerializableObject
            {
                Payload = "pyjamas"
            };

            // Verify that our behavior conforms to our expected behavior.
            var result = SerializerLoop(input);

            Assert.Equal(
                new[]
            {
                "default_ctor",
                "serializing",
                "serialized"
            },
                input.History);
            Assert.Equal(2, input.Contexts.Count);
            Assert.All(input.Contexts,
                       ctx => Assert.True(ctx.Context is ICopyContext || ctx.Context is ISerializationContext));

            Assert.Equal(
                new[]
            {
                "default_ctor",
                "deserializing",
                "deserialized",
                "deserialization"
            },
                result.History);
            Assert.Equal(input.Payload, result.Payload, StringComparer.Ordinal);
            Assert.Equal(2, result.Contexts.Count);
            Assert.All(result.Contexts, ctx => Assert.True(ctx.Context is IDeserializationContext));
        }
Example #2
0
        public void DotNetSerializableSerializerSerializesObjectWithCallbacks()
        {
            var input = new SimpleISerializableObject
            {
                Payload = "pyjamas"
            };

            // Verify that our behavior conforms to our expected behavior.
            var result = (SimpleISerializableObject)BuiltInSerializerTests.OrleansSerializationLoop(this.environment.SerializationManager, input);

            Assert.Equal(
                new[]
            {
                "default_ctor",
                "serializing",
                "serialized"
            },
                input.History);
            Assert.Equal(3, input.Contexts.Count);
            Assert.All(input.Contexts, ctx => Assert.True(ctx.Context is ICopyContext || ctx.Context is ISerializationContext));

            Assert.Equal(
                new[]
            {
                "deserializing",
                "serialization_ctor",
                "deserialized",
                "deserialization"
            },
                result.History);
            Assert.Equal(input.Payload, result.Payload, StringComparer.Ordinal);
            Assert.Equal(3, result.Contexts.Count);
            Assert.All(result.Contexts, ctx => Assert.True(ctx.Context is IDeserializationContext));
        }
Example #3
0
        public void ILSerializer_SerializesObjectWithHooks()
        {
            var input = new SimpleISerializableObject
            {
                Payload = "pyjamas"
            };

            // Verify that our behavior conforms to our expected behavior.
            var result = SerializerLoop(input);

            Assert.Equal(
                new[]
            {
                "default_ctor",
                "serializing",
                "serialized"
            },
                input.History);
            Assert.Equal(2, input.Contexts.Count);
            Assert.All(input.Contexts,
                       ctx => Assert.True(ctx.Context is ICopyContext || ctx.Context is ISerializationContext));

            Assert.Equal(
                new[]
            {
                "default_ctor",
                "deserializing",
                "deserialized",
                "deserialization"
            },
                result.History);
            Assert.Equal(input.Payload, result.Payload, StringComparer.Ordinal);
            Assert.Equal(2, result.Contexts.Count);
            Assert.All(result.Contexts, ctx => Assert.True(ctx.Context is IDeserializationContext));

            // Verify that our behavior conforms to the behavior of BinaryFormatter.
            var input2 = new SimpleISerializableObject
            {
                Payload = "pyjamas"
            };

            var result2 = (SimpleISerializableObject)BuiltInSerializerTests.DotNetSerializationLoop(
                input2,
                this.fixture.SerializationManager);

            Assert.Equal(input2.History, input.History);
            Assert.Equal(result2.History, result.History.Skip(1).ToList());
        }
Example #4
0
        public void ISerializableObjectWithCallbacks()
        {
            var input = new SimpleISerializableObject
            {
                Payload = "pyjamas"
            };

            // Verify that our behavior conforms to our expected behavior.
            var result = (SimpleISerializableObject)SerializationLoop(input);

            Assert.Equal(
                new[]
            {
                "default_ctor",
                "serializing",
                "serialized"
            },
                input.History);
            Assert.Equal(3, input.Contexts.Count);
            //Assert.All(input.Contexts, ctx => Assert.True(ctx.Context is ICopyContext || ctx.Context is ISerializationContext));

            Assert.Equal(
                new[]
            {
                "deserializing",
                "serialization_ctor",
                "deserialized",
                "deserialization"
            },
                result.History);
            Assert.Equal(input.Payload, result.Payload, StringComparer.Ordinal);
            Assert.Equal(3, result.Contexts.Count);
            //Assert.All(result.Contexts, ctx => Assert.True(ctx.Context is IDeserializationContext));

            // Verify that our behavior conforms to the behavior of BinaryFormatter.
            var input2 = new SimpleISerializableObject
            {
                Payload = "pyjamas"
            };

            var result2 = (SimpleISerializableObject)DotNetSerializationLoop(input2);

            Assert.Equal(input2.History, input.History);
            Assert.Equal(result2.History, result.History);
        }
Example #5
0
        public void SerializationBindToName2()
        {
            BinaryFormatter bf = new BinaryFormatter();

            bf.AssemblyFormat = FormatterAssemblyStyle.Full;
            bf.Binder         = new SimpleSerializationBinder2();
            MemoryStream ms = new MemoryStream();

            SimpleISerializableObject o = new SimpleISerializableObject();

            o.Name = "MonoObject";
            o.Id   = 666;

            bf.Serialize(ms, o);
            ms.Position = 0;

            o = (SimpleISerializableObject)bf.Deserialize(ms);
            Assert.AreEqual("MonoObject", o.Name);
            Assert.AreEqual(666, o.Id);

            ms.Close();
        }
Example #6
0
		public void SerializationBindToName2 ()
		{
			BinaryFormatter bf = new BinaryFormatter ();
			bf.AssemblyFormat = FormatterAssemblyStyle.Full;
			bf.Binder = new SimpleSerializationBinder2 ();
			MemoryStream ms = new MemoryStream ();

			SimpleISerializableObject o = new SimpleISerializableObject ();
			o.Name = "MonoObject";
			o.Id = 666;

			bf.Serialize (ms, o);
			ms.Position = 0;

			o = (SimpleISerializableObject)bf.Deserialize (ms);
			Assert.AreEqual ("MonoObject", o.Name);
			Assert.AreEqual (666, o.Id);

			ms.Close ();
		}