public void Test_that_converter_is_used_while_not_null_value_setting() { // Arrange var isConvertedFromStorageEverCalled = false; var converter = new StorageValueConverterMock( v => { isConvertedFromStorageEverCalled = true; return(v); }, v => v); var accessor = new EntityPropertyAccessor( nameof(TestEntity.Property), false, e => null, (e, v) => ((TestEntity)e).Property = (string)v, converter); var entity = new TestEntity(); var value = "Some value"; // Act accessor.SetProperty(entity, EntityProperty.GeneratePropertyForString(value)); // Assert Assert.AreEqual(value, entity.Property); Assert.IsTrue(isConvertedFromStorageEverCalled); }
public void Test_that_converter_is_used_while_not_null_value_getting() { // Arrange var isConvertedToStorageEverCalled = false; var converter = new StorageValueConverterMock( v => v, v => { isConvertedToStorageEverCalled = true; return(v); }); var accessor = new EntityPropertyAccessor( nameof(TestEntity.Property), false, e => ((TestEntity)e).Property, (e, v) => ((TestEntity)e).Property = (string)v, converter); var entity = new TestEntity { Property = "Some value" }; // Act var entityProperty = accessor.GetProperty(entity); // Assert Assert.IsNotNull(entityProperty); Assert.AreEqual(entity.Property, entityProperty.StringValue); Assert.IsTrue(isConvertedToStorageEverCalled); }