public void Deserialize_NullValue_GenerateRootWithfactory() { var strExp = "A + null + C + NULL + \"null\""; var factory = new EntityFactoryDeserializerExtend(); var serializer = new CircularEntityExpressionDeserializer <CircularEntity>(); var root = serializer.Deserialize(strExp, factory); var entities = factory.Entities.Values.ToList(); Assert.Equal(4, root.Children.Count()); Assert.Null(root.Children.ElementAt(0)); Assert.Equal("C", root.Children.ElementAt(1).Name); Assert.Equal("NULL", root.Children.ElementAt(2).Name); Assert.Equal("null", root.Children.ElementAt(3).Name); // no entity create directly Assert.Equal(4, entities.Count); }
public void Deserialize_UsingfactoryWithStringParamsInVerbatin_GenerateRootWithfactory() { var strExp = "NewEntity('\"quote\"') + NewEntity('\\'quote\\'')"; var factory = new EntityFactoryDeserializerExtend(); var serializer = new CircularEntityExpressionDeserializer <CircularEntity>(); var root = serializer.Deserialize(strExp, factory); var entities = factory.Entities.Values.ToList(); Assert.Single(root.Children); Assert.Equal("\"quote\"", root.Name); var children1 = root.Children.ElementAt(0); Assert.Empty(children1.Children); Assert.Equal("'quote'", children1.Name); // no entity create directly Assert.Empty(entities); }
public void Deserialize_UsingfactoryInstancesAndStaticWithStringParams_GenerateRootWithfactory() { var strExp = "NewEntity('my entity name1') + (NewEntityStatic('my entity name 2') + B - GraphExpression.Tests.Serialization.DeserializationExpressionTest.EntityFactoryDeserializerExtend.NewEntityStatic('B'))"; var factory = new EntityFactoryDeserializerExtend(); var serializer = new CircularEntityExpressionDeserializer <CircularEntity>(); var root = serializer.Deserialize(strExp, factory); var entities = factory.Entities.Values.ToList(); Assert.Single(root.Children); Assert.Equal("my entity name1", root.Name); var children1 = root.Children.ElementAt(0); Assert.Single(children1.Children); Assert.Equal("my entity name 2", children1.Name); // unique entity create directly Assert.Single(entities); Assert.Equal("B", entities[0].Name); }
public void Deserialize_UsingfactoryWithStringParamsInVerbatin_BUG_KNOWN() { var strExp = "NewEntity('\\' \\\'')"; var factory = new EntityFactoryDeserializerExtend(); var serializer = new CircularEntityExpressionDeserializer <CircularEntity>(); var root = serializer.Deserialize(strExp, factory); var entities = factory.Entities.Values.ToList(); // DEVERIA SER: ' \' Assert.Equal("' '", root.Name); // OCORRE EXCEPTION try { strExp = "NewEntity('\\\\'')"; root = serializer.Deserialize(strExp, factory); Assert.Equal("' ' '", root.Name); } catch { Assert.True(true); } }