public void ConvertFromEntityWithSerializeMapping() { // Arrange var serializer = new NewtonsoftJsonSerializer(); var map = new EntityTypeMap <EntityWithSerializableProperty>(e => e.PartitionKey(x => x.Pk) .RowKey(x => x.Rk) .Serialize(x => x.SerializableEntity, "NestedEntityRaw") ); var entity = new EntityWithSerializableProperty { SerializableEntity = new SerializableEntity { DecimalValue = 4, }, }; // Act var tableEntity = (DynamicTableEntity)map.GetEntity(entity); // Assert Assert.NotNull(tableEntity.Properties["NestedEntityRaw"].StringValue); var deserialized = serializer.Deserialize <SerializableEntity>(tableEntity.Properties["NestedEntityRaw"].StringValue); Assert.Equal(entity.SerializableEntity.DecimalValue, deserialized.DecimalValue); }
public void GetSerializablePropertyValue(ISerializer serializer) { // Arrange var propertyInfo = typeof(EntityWithSerializableProperty).GetProperty(nameof(EntityWithSerializableProperty.SerializableEntity)); _objectUnderTest = new SerializableProperty <EntityWithSerializableProperty>(propertyInfo, serializer); var tableEntity = new DynamicTableEntity(); var nestedEntity = new SerializableEntity { DecimalValue = 26, }; var entity = new EntityWithSerializableProperty { SerializableEntity = nestedEntity, }; // Act _objectUnderTest.GetMemberValue(entity, tableEntity); // Assert var entityProperty = tableEntity.Properties[nameof(EntityWithSerializableProperty.SerializableEntity)].StringValue; Assert.Equal(entityProperty, serializer.Serialize(nestedEntity)); }
public void SerializablePropertyValueAccessorSetWithComplexPropertiesTest(ISerializer serializer) { // Arrange PropertyInfo propertyInfo = typeof(EntityWithSerializableProperty).GetProperty(nameof(EntityWithSerializableProperty.SerializableEntity)); var valueAccessor = new SerializableValueAccessor <EntityWithSerializableProperty>(propertyInfo, serializer); var entity = new EntityWithSerializableProperty(); // Act valueAccessor.SetValue(entity, new EntityProperty(serializer.Serialize(new SerializableEntity() { DecimalValue = 5 }))); // Assert Assert.Equal(5, entity.SerializableEntity.DecimalValue); }
public void SerializablePropertyValueAccessorGetWithComplexPropertiesTest(ISerializer serializer) { //Arrange PropertyInfo propertyInfo = typeof(EntityWithSerializableProperty).GetProperty(nameof(EntityWithSerializableProperty.SerializableEntity)); var valueAccessor = new SerializableValueAccessor <EntityWithSerializableProperty>(propertyInfo, serializer); var entity = new EntityWithSerializableProperty { SerializableEntity = new SerializableEntity() { DecimalValue = 2 } }; // Act EntityProperty entityProperty = valueAccessor.GetValue(entity); // Assert Assert.NotNull(entityProperty.StringValue); Assert.Equal(entity.SerializableEntity.DecimalValue, serializer.Deserialize <SerializableEntity>(entityProperty.StringValue).DecimalValue); }