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"));
        }
Пример #3
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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"));
        }