Skip to content

Commit c51745b

Browse files
committed
TO string for recovery string
1 parent 4f12c9b commit c51745b

17 files changed

+95
-3
lines changed
Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
1-
namespace SimpleStateMachine.StructuralSearch.Tests
1+
using System.Linq;
2+
using Pidgin;
3+
using Xunit;
4+
5+
namespace SimpleStateMachine.StructuralSearch.Tests
26
{
37
public class RuleParserTests
48
{
5-
9+
[Theory]
10+
[InlineData("equals $var$")]
11+
[InlineData("Not equals $var$.Lenght")]
12+
[InlineData("Not equals $var$.offset.Start")]
13+
[InlineData("equals $var$.Lenght and Not StartsWith \"123\"")]
14+
[InlineData("equals $var$.Lenght and Not StartsWith \"\\\"Test\"")]
15+
public void TemplateParsingShouldBeSuccess(string ruleStr)
16+
{
17+
var rule = FindRuleParser.Expr.ParseOrThrow(ruleStr);
18+
var _ruleStr = rule.ToString()?.ToLower();
19+
Assert.NotNull(rule);
20+
Assert.Equal(_ruleStr, ruleStr.ToLower());
21+
}
622
}
723
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/BinaryRule.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,10 @@ public bool Execute(string value)
2424

2525
return LogicalHelper.Calculate(Type, left, right);
2626
}
27+
28+
public override string ToString()
29+
{
30+
return $"{Left} {Type} {Right}";
31+
}
2732
}
2833
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/InRule.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,10 @@ public bool Execute(string value)
2020
{
2121
return Parameters.Any(parameter => Equals(value, parameter.GetValue()));
2222
}
23+
24+
public override string ToString()
25+
{
26+
return $"{Type} {string.Join(" ", Parameters.Select(x=>x.ToString()))}";
27+
}
2328
}
2429
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/IsRule.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,10 @@ public bool Execute(string value)
2727
_ => throw new ArgumentOutOfRangeException()
2828
};
2929
}
30+
31+
public override string ToString()
32+
{
33+
return $"{Type} {PlaceholderType}";
34+
}
3035
}
3136
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/PlaceholderColumnParameter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,10 @@ public string GetValue()
1515
{
1616
throw new System.NotImplementedException();
1717
}
18+
19+
public override string ToString()
20+
{
21+
return $"{PlaceholderParameter}.{PlaceholderProperty.Column}.{Property}";
22+
}
1823
}
1924
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/PlaceholderFileParameter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,10 @@ public string GetValue()
1515
{
1616
throw new System.NotImplementedException();
1717
}
18+
19+
public override string ToString()
20+
{
21+
return $"{PlaceholderParameter}.{PlaceholderProperty.File}.{Property}";
22+
}
1823
}
1924
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/PlaceholderLenghtParameter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,10 @@ public string GetValue()
1717
{
1818
throw new System.NotImplementedException();
1919
}
20+
21+
public override string ToString()
22+
{
23+
return $"{PlaceholderParameter}.{Property}";
24+
}
2025
}
2126
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/PlaceholderLineParameter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,10 @@ public string GetValue()
1515
{
1616
throw new System.NotImplementedException();
1717
}
18+
19+
public override string ToString()
20+
{
21+
return $"{PlaceholderParameter}.{PlaceholderProperty.Line}.{Property}";
22+
}
1823
}
1924
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/PlaceholderOffsetParameter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,10 @@ public string GetValue()
1414
{
1515
throw new System.NotImplementedException();
1616
}
17+
18+
public override string ToString()
19+
{
20+
return $"{PlaceholderParameter}.{PlaceholderProperty.Offset}.{Property}";
21+
}
1722
}
1823
}

src/SimpleStateMachine.StructuralSearch/Rule/FindRule/PlaceholderParameter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,10 @@ public string GetValue()
1313
{
1414
throw new System.NotImplementedException();
1515
}
16+
17+
public override string ToString()
18+
{
19+
return $"${Name}$";
20+
}
1621
}
1722
}

0 commit comments

Comments
 (0)