Exemple #1
0
        public void TestFromtableEntity()
        {
            var converter   = new EntityConverter();
            var tableEntity = new TableEntity(Guid.NewGuid().ToString(), "test")
            {
                { "the_date", DateTimeOffset.UtcNow },
                { "the_number", 1234 },
                { "the_float", 12.34 },
                { "the_enum", "the_two" },
                { "the_flag", "flag_one,flag_two" },
                { "a__special__name", "renamed" },
                { "the_object", "{\"the_name\": \"testName\", \"the_enum\": \"the_one\", \"the_flag\": \"flag_one,flag_two\"}" },
                { "test_null", null },
            };

            var entity1 = converter.ToRecord <Entity1>(tableEntity);

            Assert.NotNull(entity1);
            Assert.Equal(tableEntity.PartitionKey, entity1.Id.ToString());
            Assert.Equal(tableEntity.RowKey, entity1.TheName.ToString());
            Assert.Equal(tableEntity.GetDateTimeOffset("the_date"), entity1.TheDate);
            Assert.Equal(tableEntity.GetInt32("the_number"), entity1.TheNumber);
            Assert.Equal(tableEntity.GetDouble("the_float"), entity1.TheFloat);
            Assert.Equal(TestEnum.TheTwo, entity1.TheEnum);
            Assert.Equal(tableEntity.GetString("a__special__name"), entity1.Renamed);
            Assert.Null(tableEntity.GetString("test_null"));
            Assert.Null(entity1.TestNull);

            Assert.Equal("testName", entity1.TheObject.TheName);
            Assert.Equal(TestEnum.TheOne, entity1.TheObject.TheEnum);
            Assert.Equal(TestFlagEnum.FlagOne | TestFlagEnum.FlagTwo, entity1.TheObject.TheFlag);
        }
Exemple #2
0
        bool Test <T>(T e) where T : EntityBase
        {
            var v = _converter.ToTableEntity(e);
            var r = _converter.ToRecord <T>(v);

            return(EqualityComparison.AreEqual(e, r));
        }
Exemple #3
0
        public void TestBothDirections()
        {
            var uriString = new Uri("https://localhost:9090");
            var converter = new EntityConverter();
            var entity1   = new Entity1(
                Guid.NewGuid(),
                "test",
                DateTimeOffset.UtcNow,
                123,
                12.44,
                TestEnum.TheTwo, TestFlagEnum.FlagOne | TestFlagEnum.FlagTwo,
                "renamed",
                new TestObject {
                TheName      = "testobject",
                TheEnum      = TestEnum.TheTwo,
                TheFlag      = TestFlagEnum.FlagOne | TestFlagEnum.FlagTwo,
                TheEnumValue = TestEnumValue.Two
            },
                null,
                uriString,
                null
                );


            var tableEntity     = converter.ToTableEntity(entity1);
            var fromTableEntity = converter.ToRecord <Entity1>(tableEntity);
            var eq = fromTableEntity == entity1;

            Assert.Equal(fromTableEntity.TimeStamp, entity1.TimeStamp);
            Assert.Equal(fromTableEntity.Id, entity1.Id);
            Assert.Equal(fromTableEntity.Renamed, entity1.Renamed);
            Assert.Equal(fromTableEntity.TestNull, entity1.TestNull);
            Assert.Equal(fromTableEntity.TestUri, entity1.TestUri);
            Assert.Equal(fromTableEntity.TestUriNull, entity1.TestUriNull);
            Assert.Equal(fromTableEntity.TheDate, entity1.TheDate);
            Assert.Equal(fromTableEntity.TheEnum, entity1.TheEnum);

            Assert.Equal(fromTableEntity.TheFlag, entity1.TheFlag);
            Assert.Equal(fromTableEntity.TheFloat, entity1.TheFloat);
            Assert.Equal(fromTableEntity.TheName, entity1.TheName);
            Assert.Equal(fromTableEntity.TheNumber, entity1.TheNumber);
            Assert.Equal(fromTableEntity.TimeStamp, entity1.TimeStamp);

            Assert.Equal(fromTableEntity.TheObject.TheEnum, entity1.TheObject.TheEnum);
            Assert.Equal(fromTableEntity.TheObject.TheFlag, entity1.TheObject.TheFlag);
            Assert.Equal(fromTableEntity.TheObject.TheName, entity1.TheObject.TheName);
            Assert.Equal(fromTableEntity.TheObject.TheEnumValue, entity1.TheObject.TheEnumValue);
        }