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); }
bool Test <T>(T e) where T : EntityBase { var v = _converter.ToTableEntity(e); var r = _converter.ToRecord <T>(v); return(EqualityComparison.AreEqual(e, r)); }
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); }