public void SerializablePropertyValueAccessorSetWithComplexFieldsTest(ISerializer serializer)
        {
            // Arrange
            var fieldInfo     = typeof(EntityWithSerializableField).GetField(nameof(EntityWithSerializableField.DecimalValue));
            var valueAccessor = new SerializableValueAccessor <EntityWithSerializableField>(fieldInfo, serializer);
            var entity        = new EntityWithSerializableField();

            // Act
            valueAccessor.SetValue(entity, new EntityProperty(serializer.Serialize(5)));

            // Assert
            Assert.Equal(5, entity.DecimalValue);
        }
        public void SerializablePropertyValueAccessorGetWithComplexFieldsTest(ISerializer serializer)
        {
            //Arrange
            var fieldInfo     = typeof(EntityWithSerializableField).GetField(nameof(EntityWithSerializableField.DecimalValue));
            var valueAccessor = new SerializableValueAccessor <EntityWithSerializableField>(fieldInfo, serializer);
            var entity        = new EntityWithSerializableField {
                DecimalValue = 5
            };

            // Act
            EntityProperty entityProperty = valueAccessor.GetValue(entity);

            // Assert
            Assert.NotNull(entityProperty.StringValue);
            Assert.Equal(entity.DecimalValue, serializer.Deserialize <decimal>(entityProperty.StringValue));
        }