Exemplo n.º 1
0
        public void Check_RepositoryFactory_Pattern()
        {
            string serialized = jsonPatternSerializer.Serialize(pattern);
            string filePath   = Path.Combine(TestUtility.TestsOutputPath, "pattern.json");

            File.WriteAllText(filePath, serialized);

            Check(filePath);
        }
Exemplo n.º 2
0
        public void JsonSerialize_PatternWithVar_JsonEqualsToDsl()
        {
            var patternRoot = new PatternRoot
            {
                Node = new PatternStatements
                {
                    Statements = new List <PatternUst>
                    {
                        new PatternAssignmentExpression
                        {
                            Left = new PatternVar("pwd")
                            {
                                Value = new PatternIdRegexToken("password")
                            },
                            Right = new PatternAny()
                        },

                        new PatternInvocationExpression
                        {
                            Target    = new PatternAny(),
                            Arguments = new PatternArgs(
                                new PatternMultipleExpressions(),
                                new PatternVar("pwd"),
                                new PatternMultipleExpressions())
                        }
                    }
                }
            };

            var jsonSerializer = new JsonPatternSerializer
            {
                Indented         = true,
                IncludeTextSpans = false
            };

            string      json         = jsonSerializer.Serialize(patternRoot);
            PatternRoot nodeFromJson = jsonSerializer.Deserialize(new TextFile(json)
            {
                PatternKey = "PatternWithVar"
            });

            var dslSeializer = new DslProcessor()
            {
                PatternExpressionInsideStatement = false
            };
            var nodeFromDsl = dslSeializer.Deserialize(
                new TextFile("<[@pwd:password]> = #; ... #(#*, <[@pwd]>, #*);")
            {
                PatternKey = "PatternWithVar2"
            });

            Assert.IsTrue(nodeFromJson.Node.Equals(patternRoot.Node));
            Assert.IsTrue(nodeFromJson.Node.Equals(nodeFromDsl.Node));
        }