private static ITableEntity Copy(ITableEntity item) { var props = TableEntityValueBinder.DeepClone(item.WriteEntity(null)); DynamicTableEntity copy = new DynamicTableEntity(item.PartitionKey, item.RowKey, item.ETag, props); return(copy); }
public PocoEntityValueBinder(TableEntityContext entityContext, string eTag, TElement value) { _entityContext = entityContext; _eTag = eTag; _value = value; _originalProperties = TableEntityValueBinder.DeepClone(_converter.Convert(value).WriteEntity(operationContext: null)); }
public void HasChanged_ReturnsFalse_IfValueHasNotChanged() { // Arrange TableEntityContext entityContext = new TableEntityContext(); DynamicTableEntity value = new DynamicTableEntity { PartitionKey = "PK", RowKey = "RK", Properties = new Dictionary<string, EntityProperty> { { "Item", new EntityProperty("Foo") } } }; Type valueType = typeof(DynamicTableEntity); TableEntityValueBinder product = new TableEntityValueBinder(entityContext, value, valueType); // Act bool hasChanged = product.HasChanged; // Assert Assert.False(hasChanged); }
private bool HasChanges(ITableEntity current) { return(TableEntityValueBinder.HasChanges(_originalProperties, current.WriteEntity(operationContext: null))); }
public void HasChanged_ReturnsTrue_IfMutuableValueHasBeenMutated() { // Arrange TableEntityContext entityContext = new TableEntityContext(); byte[] bytes = new byte[] { 0x12 }; DynamicTableEntity value = new DynamicTableEntity { PartitionKey = "PK", RowKey = "RK", Properties = new Dictionary<string, EntityProperty> { { "Item", new EntityProperty(bytes) } } }; Type valueType = typeof(DynamicTableEntity); TableEntityValueBinder product = new TableEntityValueBinder(entityContext, value, valueType); bytes[0] = 0xFE; // Act bool hasChanged = product.HasChanged; // Assert Assert.True(hasChanged); }