public void Check_RepositoryFactory_Pattern() { string serialized = jsonPatternSerializer.Serialize(pattern); string filePath = Path.Combine(TestUtility.TestsOutputPath, "pattern.json"); File.WriteAllText(filePath, serialized); Check(filePath); }
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)); }