public void ConfigureEncrypt() { var configuration = new ConfigurationContainer(); Assert.Null(configuration.Root.Find <EncryptionExtension>()); configuration.UseEncryptionAlgorithm() .ConfigureType <TestClassWithEncryptedData>() .Member(p => p.Password, x => x.Encrypt()) .Member(p => p.Salary) .Encrypt(); var extension = configuration.Root.Find <EncryptionExtension>(); Assert.NotNull(extension); var type = configuration.GetTypeConfiguration(typeof(TestClassWithEncryptedData)); Assert.NotNull(type); var member = type.Member(nameof(TestClassWithEncryptedData.Salary)); var property = ((ISource <MemberInfo>)member).Get(); Assert.NotNull(property); Assert.Contains(property, extension.Registered); const int salary = 6776; var instance = new TestClassWithEncryptedData { Salary = salary }; var support = new SerializationSupport(configuration); var actual = support.Assert(instance, @"<?xml version=""1.0"" encoding=""utf-8""?><TestClassWithEncryptedData xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.TestObject;assembly=ExtendedXmlSerializer.Tests""><Salary>Njc3Ng==</Salary></TestClassWithEncryptedData>"); Assert.Equal(salary, actual.Salary); }
public void ConfigureEntityType() { var configuration = new ConfigurationContainer(); Assert.Null(configuration.Root.Find <ReferencesExtension>()); configuration.EnableReferences(); var configType = configuration.GetTypeConfiguration(typeof(TestClassPrimitiveTypes)); var extension = configuration.Root.Find <ReferencesExtension>(); Assert.NotNull(extension); Assert.Null(extension.Get(configType.Get())); }
public void Verify() { IConfigurationContainer container = new ConfigurationContainer(); var properties = typeof(Subject).GetProperties(); var type = container.GetTypeConfiguration(typeof(Subject)); foreach (var property in properties) { if (property.IsDecoratedWith <CustomAttribute>()) { container = type.Get(property).Ignore(property); } } var sut = container.Create().ForTesting(); var instance = new Subject { Message = "Serialized", AnotherMessage = "Ignored" }; var cycled = sut.Cycle(instance); cycled.Message.Should().NotBeNullOrEmpty(); cycled.AnotherMessage.Should().BeNull(); }