public void Convert_PopulatesPartitionKey() { // Arrange const string expectedPartitionKey = "PK"; IConverter <PocoWithPartitionKey, TableEntity> product = CreateProductUnderTest <PocoWithPartitionKey>(); PocoWithPartitionKey input = new PocoWithPartitionKey { PartitionKey = expectedPartitionKey }; // Act TableEntity actual = product.Convert(input); // Assert Assert.NotNull(actual); Assert.AreSame(expectedPartitionKey, actual.PartitionKey); }
public void Convert_DoesNotIncludePartitionKeyInDictionary() { // Arrange const string expectedPartitionKey = "PK"; IConverter <PocoWithPartitionKey, TableEntity> product = CreateProductUnderTest <PocoWithPartitionKey>(); PocoWithPartitionKey input = new PocoWithPartitionKey { PartitionKey = expectedPartitionKey }; // Act TableEntity actual = product.Convert(input); // Assert Assert.NotNull(actual); Assert.AreSame(expectedPartitionKey, actual.PartitionKey); Assert.False(actual.ContainsKey("PartitionKey")); }
public void Convert_PopulatesPartitionKey() { // Arrange const string expectedPartitionKey = "PK"; IConverter <ITableEntity, PocoWithPartitionKey> product = CreateProductUnderTest <PocoWithPartitionKey>(); DynamicTableEntity entity = new DynamicTableEntity { PartitionKey = expectedPartitionKey }; // Act PocoWithPartitionKey actual = product.Convert(entity); // Assert Assert.NotNull(actual); Assert.Same(expectedPartitionKey, actual.PartitionKey); }
public void Convert_IfExtraPropertyIsPresentInDictionary_Ignores() { // Arrange const string expectedPartitionKey = "PK"; IConverter <TableEntity, PocoWithPartitionKey> product = CreateProductUnderTest <PocoWithPartitionKey>(); TableEntity entity = new TableEntity { PartitionKey = expectedPartitionKey, ["ExtraProperty"] = "abc" }; // Act PocoWithPartitionKey actual = product.Convert(entity); // Assert Assert.NotNull(actual); Assert.AreSame(expectedPartitionKey, actual.PartitionKey); }
public void Convert_IfDictionaryContainsPartitionKey_PopulatesFromOfficialPartitionKey() { // Arrange const string expectedPartitionKey = "PK"; IConverter <TableEntity, PocoWithPartitionKey> product = CreateProductUnderTest <PocoWithPartitionKey>(); TableEntity entity = new TableEntity { PartitionKey = expectedPartitionKey, ["PartitionKey"] = "UnexpectedPK" }; // Act PocoWithPartitionKey actual = product.Convert(entity); // Assert Assert.NotNull(actual); Assert.AreSame(expectedPartitionKey, actual.PartitionKey); }
public void Convert_IfExtraPropertyIsPresentInDictionary_Ignores() { // Arrange const string expectedPartitionKey = "PK"; IConverter <ITableEntity, PocoWithPartitionKey> product = CreateProductUnderTest <PocoWithPartitionKey>(); DynamicTableEntity entity = new DynamicTableEntity { PartitionKey = expectedPartitionKey, Properties = new Dictionary <string, EntityProperty> { { "ExtraProperty", new EntityProperty("abc") } } }; // Act PocoWithPartitionKey actual = product.Convert(entity); // Assert Assert.NotNull(actual); Assert.Same(expectedPartitionKey, actual.PartitionKey); }
public void Convert_IfDictionaryContainsPartitionKey_PopulatesFromOfficialPartitionKey() { // Arrange const string expectedPartitionKey = "PK"; IConverter <ITableEntity, PocoWithPartitionKey> product = CreateProductUnderTest <PocoWithPartitionKey>(); DynamicTableEntity entity = new DynamicTableEntity { PartitionKey = expectedPartitionKey, Properties = new Dictionary <string, EntityProperty> { { "PartitionKey", new EntityProperty("UnexpectedPK") } } }; // Act PocoWithPartitionKey actual = product.Convert(entity); // Assert Assert.NotNull(actual); Assert.Same(expectedPartitionKey, actual.PartitionKey); }
public void Convert_DoesNotIncludePartitionKeyInDictionary() { // Arrange const string expectedPartitionKey = "PK"; IConverter <PocoWithPartitionKey, ITableEntity> product = CreateProductUnderTest <PocoWithPartitionKey>(); PocoWithPartitionKey input = new PocoWithPartitionKey { PartitionKey = expectedPartitionKey }; // Act ITableEntity actual = product.Convert(input); // Assert Assert.NotNull(actual); Assert.Same(expectedPartitionKey, actual.PartitionKey); IDictionary <string, EntityProperty> properties = actual.WriteEntity(operationContext: null); Assert.NotNull(properties); Assert.False(properties.ContainsKey("PartitionKey")); }