public void Convert_IfTimestampIsWriteOnly_PopulatesTimestamp()
        {
            // Arrange
            DateTimeOffset expectedTimestamp = DateTimeOffset.Now;
            IConverter <TableEntity, PocoWithWriteOnlyTimestamp> product =
                CreateProductUnderTest <PocoWithWriteOnlyTimestamp>();
            TableEntity entity = new TableEntity
            {
                Timestamp = expectedTimestamp
            };
            // Act
            PocoWithWriteOnlyTimestamp actual = product.Convert(entity);

            // Assert
            Assert.NotNull(actual);
            Assert.AreEqual(expectedTimestamp, actual.ReadTimestamp);
            Assert.AreEqual(expectedTimestamp.Offset, actual.ReadTimestamp.Offset);
        }
        public void Convert_IfTimestampIsWriteOnly_Ignores()
        {
            // Arrange
            const string expectedPartitionKey = "PK";
            IConverter <PocoWithWriteOnlyTimestamp, TableEntity> product =
                CreateProductUnderTest <PocoWithWriteOnlyTimestamp>();
            PocoWithWriteOnlyTimestamp input = new PocoWithWriteOnlyTimestamp
            {
                PartitionKey = expectedPartitionKey,
                Timestamp    = DateTimeOffset.Now
            };
            // Act
            TableEntity actual = product.Convert(input);

            // Assert
            Assert.NotNull(actual);
            Assert.Null(actual.Timestamp);
            Assert.AreSame(expectedPartitionKey, actual.PartitionKey);
        }