public void TestConfigureClassic_Version0_9_DefaultIsReplaced() { var previous = SerializationContext.Default; try { var result = SerializationContext.ConfigureClassic(SerializationCompatibilityLevel.Version0_9); // result is old. Assert.That(result, Is.SameAs(previous)); // result is default settings. Assert.That(result, Is.Not.Null); Assert.That(result.DefaultDateTimeConversionMethod, Is.EqualTo(DateTimeConversionMethod.Timestamp)); Assert.That(result.CompatibilityOptions.PackerCompatibilityOptions, Is.EqualTo(PackerCompatibilityOptions.None)); Assert.That(result.EnumSerializationOptions.SerializationMethod, Is.EqualTo(EnumSerializationMethod.ByName)); #if !AOT && !UNITY && !SILVERLIGHT Assert.That(result.SerializerOptions.GeneratorOption, Is.EqualTo(SerializationMethodGeneratorOption.Fast)); #endif // !AOT && !UNITY && !SILVERLIGHT Assert.That(result.SerializationMethod, Is.EqualTo(SerializationMethod.Array)); // default is now classic 0.9 Assert.That(SerializationContext.Default, Is.Not.Null); Assert.That(SerializationContext.Default.DefaultDateTimeConversionMethod, Is.EqualTo(DateTimeConversionMethod.Native)); Assert.That(SerializationContext.Default.CompatibilityOptions.PackerCompatibilityOptions, Is.EqualTo(PackerCompatibilityOptions.None)); Assert.That(SerializationContext.Default.EnumSerializationOptions.SerializationMethod, Is.EqualTo(EnumSerializationMethod.ByName)); #if !AOT && !UNITY && !SILVERLIGHT Assert.That(SerializationContext.Default.SerializerOptions.GeneratorOption, Is.EqualTo(SerializationMethodGeneratorOption.Fast)); #endif // !AOT && !UNITY && !SILVERLIGHT Assert.That(SerializationContext.Default.SerializationMethod, Is.EqualTo(SerializationMethod.Array)); } finally { SerializationContext.Default = previous; } // Verify restore Assert.That(SerializationContext.Default.DefaultDateTimeConversionMethod, Is.EqualTo(DateTimeConversionMethod.Timestamp)); Assert.That(SerializationContext.Default.CompatibilityOptions.PackerCompatibilityOptions, Is.EqualTo(PackerCompatibilityOptions.None)); Assert.That(SerializationContext.Default.EnumSerializationOptions.SerializationMethod, Is.EqualTo(EnumSerializationMethod.ByName)); #if !AOT && !UNITY && !SILVERLIGHT Assert.That(SerializationContext.Default.SerializerOptions.GeneratorOption, Is.EqualTo(SerializationMethodGeneratorOption.Fast)); #endif // !AOT && !UNITY && !SILVERLIGHT Assert.That(SerializationContext.Default.SerializationMethod, Is.EqualTo(SerializationMethod.Array)); }
public void TestConfigureClassic_DefaultIsReplaced() { var previous = SerializationContext.Default; try { var result = SerializationContext.ConfigureClassic(); // result is old. Assert.That(result, Is.SameAs(previous)); // result is default settings. Assert.That(result, Is.Not.Null); Assert.That(result.DefaultDateTimeConversionMethod, Is.EqualTo(DateTimeConversionMethod.Native)); Assert.That(result.EnumSerializationMethod, Is.EqualTo(EnumSerializationMethod.ByName)); #if !XAMIOS && !UNITY Assert.That(result.GeneratorOption, Is.EqualTo(SerializationMethodGeneratorOption.Fast)); #endif // !XAMIOS && !UNITY Assert.That(result.SerializationMethod, Is.EqualTo(SerializationMethod.Array)); // default is now classic Assert.That(SerializationContext.Default, Is.Not.Null); Assert.That(SerializationContext.Default.DefaultDateTimeConversionMethod, Is.EqualTo(DateTimeConversionMethod.UnixEpoc)); Assert.That(SerializationContext.Default.EnumSerializationMethod, Is.EqualTo(EnumSerializationMethod.ByName)); #if !XAMIOS && !UNITY Assert.That(SerializationContext.Default.GeneratorOption, Is.EqualTo(SerializationMethodGeneratorOption.Fast)); #endif // !XAMIOS && !UNITY Assert.That(SerializationContext.Default.SerializationMethod, Is.EqualTo(SerializationMethod.Array)); } finally { SerializationContext.Default = previous; } // Verify restore Assert.That(SerializationContext.Default.DefaultDateTimeConversionMethod, Is.EqualTo(DateTimeConversionMethod.Native)); Assert.That(SerializationContext.Default.EnumSerializationMethod, Is.EqualTo(EnumSerializationMethod.ByName)); #if !XAMIOS && !UNITY Assert.That(SerializationContext.Default.GeneratorOption, Is.EqualTo(SerializationMethodGeneratorOption.Fast)); #endif // !XAMIOS && !UNITY Assert.That(SerializationContext.Default.SerializationMethod, Is.EqualTo(SerializationMethod.Array)); }
public void TestIssue73() { var original = SerializationContext.ConfigureClassic(); try { var value = new Dictionary <string, object> { { "1", new object() }, { "2", new object() } }; var serializer = MessagePackSerializer.Get <Dictionary <string, object> >(new SerializationContext()); using (var buffer = new MemoryStream()) { Assert.Throws <SerializationException>(() => serializer.Pack(buffer, value)); } } finally { SerializationContext.Default = original; } }