public void It_writes_to_dictionary()
        {
            var instance = new ClrPocoWithProp
            {
                PartitionKey = "A",
                RowKey       = "B",
                StringProp   = "C",
                IntProp      = 5,
                Timestamp    = DateTimeOffset.UtcNow,
            };
            var entry   = _factory.Create(CreateModel().GetEntityType(typeof(ClrPocoWithProp)), instance);
            var adapter = new StateEntryTableEntityAdapter <ClrPocoWithProp>(entry);

            var expected = new Dictionary <string, EntityProperty>
            {
                { "IntProp", new EntityProperty(instance.IntProp) },
                { "StringProp", new EntityProperty(instance.StringProp) },
            };

            Assert.Equal(expected, adapter.WriteEntity(null));
        }
        public void It_reads_from_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");

            entry[pkProp] = "PK";
            entry[rkProp] = "RK";
            var timestamp = DateTimeOffset.UtcNow;

            entry[tmProp]   = timestamp;
            entry[someProp] = 65134;

            var values = adapter.WriteEntity(null);

            Assert.Equal("PK", adapter.PartitionKey);
            Assert.Equal("RK", adapter.RowKey);
            Assert.Equal(timestamp, adapter.Timestamp);
            Assert.Equal(65134, values["SomeProperty"].Int32Value);
        }
        public void It_writes_to_dictionary()
        {
            var instance = new ClrPocoWithProp
                {
                    PartitionKey = "A",
                    RowKey = "B",
                    StringProp = "C",
                    IntProp = 5,
                    Timestamp = DateTimeOffset.UtcNow,
                };
            var entry = _factory.Create(CreateModel().GetEntityType(typeof(ClrPocoWithProp)), instance);
            var adapter = new StateEntryTableEntityAdapter<ClrPocoWithProp>(entry);

            var expected = new Dictionary<string, EntityProperty>
                {
                    { "IntProp", new EntityProperty(instance.IntProp) },
                    { "StringProp", new EntityProperty(instance.StringProp) },
                };

            Assert.Equal(expected, adapter.WriteEntity(null));
        }
        public void It_reads_from_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");

            entry[pkProp] = "PK";
            entry[rkProp] = "RK";
            var timestamp = DateTimeOffset.UtcNow;
            entry[tmProp] = timestamp;
            entry[someProp] = 65134;

            var values = adapter.WriteEntity(null);

            Assert.Equal("PK", adapter.PartitionKey);
            Assert.Equal("RK", adapter.RowKey);
            Assert.Equal(timestamp, adapter.Timestamp);
            Assert.Equal(65134, values["SomeProperty"].Int32Value);
        }