public void It_writes_to_shadow_state_properties() { var entityType = CreateModel().GetEntityType("ShadowEntity"); var entry = _factory.Create(entityType, new AtsObjectArrayValueReader(new object[4])); var adapter = new StateEntryTableEntityAdapter <object>(entry); var pkProp = entry.EntityType.GetPropertyByColumnName("PartitionKey"); var rkProp = entry.EntityType.GetPropertyByColumnName("RowKey"); var tmProp = entry.EntityType.GetPropertyByColumnName("Timestamp"); var someProp = entry.EntityType.GetPropertyByColumnName("SomeProperty"); adapter.PartitionKey = "PK"; adapter.RowKey = "RK"; var timestamp = DateTimeOffset.UtcNow; adapter.Timestamp = timestamp; adapter.ReadEntity(new Dictionary <string, EntityProperty> { { "SomeProperty", new EntityProperty(324890) } }, null); Assert.Equal("PK", entry[pkProp]); Assert.Equal("RK", entry[rkProp]); Assert.Equal(timestamp, entry[tmProp]); Assert.Equal(324890, entry[someProp]); }
public void It_skips_mismatched_types() { var data = new Dictionary <string, EntityProperty> { { "StringProp", new EntityProperty(5) }, { "IntProp", new EntityProperty("string input") }, }; var instance = new ClrPocoWithProp(); var entityType = CreateModel().GetEntityType(typeof(ClrPocoWithProp)); var entry = _factory.Create(entityType, instance); var adapter = new StateEntryTableEntityAdapter <ClrPocoWithProp>(entry); adapter.ReadEntity(data, null); Assert.Equal(default(string), instance.StringProp); Assert.Equal(default(int), instance.IntProp); }
public void It_reads_from_dictionary() { var data = new Dictionary <string, EntityProperty> { { "StringProp", new EntityProperty("StringVal") }, { "IntProp", new EntityProperty(5) }, }; var instance = new ClrPocoWithProp(); var entityType = CreateModel().GetEntityType(typeof(ClrPocoWithProp)); var entry = _factory.Create(entityType, instance); var adapter = new StateEntryTableEntityAdapter <ClrPocoWithProp>(entry); adapter.ReadEntity(data, null); Assert.Equal("StringVal", instance.StringProp); Assert.Equal(5, instance.IntProp); }
public void It_writes_to_shadow_state_properties() { var entityType = CreateModel().GetEntityType("ShadowEntity"); var entry = _factory.Create(entityType, new AtsObjectArrayValueReader(new object[4])); var adapter = new StateEntryTableEntityAdapter<object>(entry); var pkProp = entry.EntityType.GetPropertyByColumnName("PartitionKey"); var rkProp = entry.EntityType.GetPropertyByColumnName("RowKey"); var tmProp = entry.EntityType.GetPropertyByColumnName("Timestamp"); var someProp = entry.EntityType.GetPropertyByColumnName("SomeProperty"); adapter.PartitionKey = "PK"; adapter.RowKey = "RK"; var timestamp = DateTimeOffset.UtcNow; adapter.Timestamp = timestamp; adapter.ReadEntity(new Dictionary<string, EntityProperty> { { "SomeProperty", new EntityProperty(324890) } }, null); Assert.Equal("PK", entry[pkProp]); Assert.Equal("RK", entry[rkProp]); Assert.Equal(timestamp, entry[tmProp]); Assert.Equal(324890, entry[someProp]); }
public void It_skips_mismatched_types() { var data = new Dictionary<string, EntityProperty> { { "StringProp", new EntityProperty(5) }, { "IntProp", new EntityProperty("string input") }, }; var instance = new ClrPocoWithProp(); var entityType = CreateModel().GetEntityType(typeof(ClrPocoWithProp)); var entry = _factory.Create(entityType, instance); var adapter = new StateEntryTableEntityAdapter<ClrPocoWithProp>(entry); adapter.ReadEntity(data, null); Assert.Equal(default(string), instance.StringProp); Assert.Equal(default(int), instance.IntProp); }
public void It_reads_from_dictionary() { var data = new Dictionary<string, EntityProperty> { { "StringProp", new EntityProperty("StringVal") }, { "IntProp", new EntityProperty(5) }, }; var instance = new ClrPocoWithProp(); var entityType = CreateModel().GetEntityType(typeof(ClrPocoWithProp)); var entry = _factory.Create(entityType, instance); var adapter = new StateEntryTableEntityAdapter<ClrPocoWithProp>(entry); adapter.ReadEntity(data, null); Assert.Equal("StringVal", instance.StringProp); Assert.Equal(5, instance.IntProp); }