Skip to content

Commit 1171ebf

Browse files
Merge pull request #17 from SimpleStateMachine/dev
remove numbers in tests, refact IParsingContext
2 parents ed7e6e3 + 0d2180d commit 1171ebf

File tree

7 files changed

+54
-56
lines changed

7 files changed

+54
-56
lines changed

src/SimpleStateMachine.StructuralSearch.Tests/FindRuleParserTests.cs

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,23 @@ public static void FindRuleExprParsingShouldBeSuccess(string ruleStr)
3737
}
3838

3939
[Theory]
40-
[InlineData(0, "$var$ In \"Is\", \"==\", \"!=\", \"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
41-
[InlineData(1, "$var$ In (\"Is\", \"==\", \"!=\", \"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
42-
[InlineData(2, "$var$ In \"Is\",\"==\",\"!=\",\"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
43-
[InlineData(3, "$var$ In (\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
44-
[InlineData(4, "$var$ In(\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
45-
[InlineData(5, "$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
46-
[InlineData(6, "$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
47-
[InlineData(7, "$var$ In ( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
48-
[InlineData(8, "$var$ In (\"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
49-
[InlineData(9, "$var$ In (\"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
50-
[InlineData(10, "$var$ In (\"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
51-
[InlineData(11, "$var$ In( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
52-
[InlineData(12, "$var$ In( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
53-
[InlineData(13, "$var$ In( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
54-
[InlineData(14, "Not ($var$ equals $var$.Lenght and $var$ StartsWith \"123\")", "Not $var$ equals $var$.Lenght and $var$ StartsWith \"123\"")]
55-
[InlineData(15, "Not ($var$ equals $var$.Lenght)", "Not $var$ equals $var$.Lenght")]
56-
[InlineData(16, "$var$ In( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
57-
public static void FindRuleExprParsingShouldBeEqualsCustomResult(int number, string ruleStr, string customResult)
40+
[InlineData("$var$ In \"Is\", \"==\", \"!=\", \"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
41+
[InlineData("$var$ In (\"Is\", \"==\", \"!=\", \"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
42+
[InlineData("$var$ In \"Is\",\"==\",\"!=\",\"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
43+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
44+
[InlineData("$var$ In(\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
45+
[InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
46+
[InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
47+
[InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
48+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
49+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
50+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
51+
[InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
52+
[InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
53+
[InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
54+
[InlineData("Not ($var$ equals $var$.Lenght and $var$ StartsWith \"123\")", "Not $var$ equals $var$.Lenght and $var$ StartsWith \"123\"")]
55+
[InlineData("Not ($var$ equals $var$.Lenght)", "Not $var$ equals $var$.Lenght")]
56+
public static void FindRuleExprParsingShouldBeEqualsCustomResult(string ruleStr, string customResult)
5857
{
5958
var rule = FindRuleParser.Expr.ParseOrThrow(ruleStr);
6059
var ruleAsStr = rule.ToString()?.ToLower();

src/SimpleStateMachine.StructuralSearch.Tests/ReplaceTemplateTests.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -54,23 +54,23 @@ public static void ReplaceBuildShouldBeSuccess(string templatePath, string resul
5454
// TODO validation parenthesis for parameters
5555

5656
[Theory]
57-
[InlineData(0, "test $var1$.Lenght")]
58-
[InlineData(1, "(test) $var1$.Lenght")]
59-
[InlineData(2, "test ($var1$.Lenght)")]
60-
[InlineData(3, "(test $var1$.Lenght)")]
61-
[InlineData(4, "test ")]
62-
[InlineData(5, "($var1$.Lenght)")]
63-
[InlineData(6, " ($var1$.Lenght)")]
64-
[InlineData(7, " ( )")]
65-
[InlineData(8, "test ( )")]
66-
[InlineData(9, " (test $var1$.Lenght)")]
67-
[InlineData(10, "(test) ($var1$.Lenght)")]
68-
[InlineData(11, "((test) $var1$.Lenght)")]
69-
[InlineData(12, "(test ($var1$.Lenght))")]
70-
[InlineData(13, "((test) ($var1$.Lenght))")]
71-
[InlineData(14, "()")]
72-
[InlineData(15, "(test ($var1$.Lenght) test2)")]
73-
public static void ReplaceTemplateParsingShouldBeSuccess(int number, string templateStr)
57+
[InlineData("test $var1$.Lenght")]
58+
[InlineData("(test) $var1$.Lenght")]
59+
[InlineData("test ($var1$.Lenght)")]
60+
[InlineData("(test $var1$.Lenght)")]
61+
[InlineData("test ")]
62+
[InlineData("($var1$.Lenght)")]
63+
[InlineData(" ($var1$.Lenght)")]
64+
[InlineData(" ( )")]
65+
[InlineData("test ( )")]
66+
[InlineData(" (test $var1$.Lenght)")]
67+
[InlineData("(test) ($var1$.Lenght)")]
68+
[InlineData("((test) $var1$.Lenght)")]
69+
[InlineData("(test ($var1$.Lenght))")]
70+
[InlineData("((test) ($var1$.Lenght))")]
71+
[InlineData("()")]
72+
[InlineData("(test ($var1$.Lenght) test2)")]
73+
public static void ReplaceTemplateParsingShouldBeSuccess(string templateStr)
7474
{
7575
var replaceBuilder = StructuralSearch.ParseReplaceTemplate(templateStr);
7676
var replaceStr = replaceBuilder.ToString()?.ToLower();

src/SimpleStateMachine.StructuralSearch/EmptyParsingContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void Fill(IReadOnlyDictionary<string, IPlaceholder> placeholders)
3636
throw new System.NotImplementedException();
3737
}
3838

39-
public void Clear()
39+
public IReadOnlyDictionary<string, IPlaceholder> Clear()
4040
{
4141
throw new System.NotImplementedException();
4242
}

src/SimpleStateMachine.StructuralSearch/FindParser.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public IEnumerable<FindParserResult> Parse(ref IParsingContext context)
2828
.Match()
2929
.ThenInvoke(match =>
3030
{
31-
var placeholders= parsingContext.SwitchOnNew();
31+
var placeholders = parsingContext.Clear();
3232
matches.Add(new FindParserResult(match, placeholders));
3333
})
3434
.ThenReturn(Unit.Value)
@@ -38,7 +38,7 @@ public IEnumerable<FindParserResult> Parse(ref IParsingContext context)
3838
.ThenInvoke(x =>
3939
{
4040
res.Append(x);
41-
parsingContext.SwitchOnNew();
41+
parsingContext.Clear();
4242
})
4343
.ThenReturn(Unit.Value);
4444

src/SimpleStateMachine.StructuralSearch/IParsingContext.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,10 @@ public interface IParsingContext
77
IInput Input { get; }
88

99
bool TryGetPlaceholder(string name, out IPlaceholder value);
10-
1110
void AddPlaceholder(IPlaceholder placeholder);
12-
1311
IPlaceholder GetPlaceholder(string name);
1412

15-
IReadOnlyDictionary<string, IPlaceholder> SwitchOnNew();
1613
void Fill(IReadOnlyDictionary<string, IPlaceholder>placeholders);
17-
void Clear();
14+
IReadOnlyDictionary<string, IPlaceholder> Clear();
1815
}
1916
}

src/SimpleStateMachine.StructuralSearch/Parsers/PlaceholderParser.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public override Parser<char, string> BuildParser(Func<Parser<char, string>?> nex
5555

5656
var simpleString = CommonTemplateParser.StringWithPlshd;
5757
var token = Parser.OneOf(simpleString, CommonParser.WhiteSpaces).Try();
58-
Parser<char, string> term = null;
58+
Parser<char, string>? term = null;
5959

6060
var parenthesised = Parsers.BetweenOneOfChars(x => Parser.Char(x).AsString(),
6161
expr: Parser.Rec(() => term),

src/SimpleStateMachine.StructuralSearch/ParsingContext.cs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,29 +29,31 @@ public IPlaceholder GetPlaceholder(string name)
2929
{
3030
return Placeholders[name];
3131
}
32-
33-
public IReadOnlyDictionary<string, IPlaceholder> SwitchOnNew()
34-
{
35-
var placeholders = Placeholders
36-
.OrderBy(x=> x.Value.Offset.Start)
37-
.ToDictionary(x=> x.Key, x=> x.Value);
38-
Clear();
39-
return placeholders;
40-
}
41-
32+
4233
public void Fill(IReadOnlyDictionary<string, IPlaceholder> placeholders)
4334
{
44-
Clear();
35+
ClearInternal();
4536

4637
foreach (var placeholder in placeholders)
4738
{
4839
Placeholders.Add(placeholder.Key, placeholder.Value);
4940
}
5041
}
5142

52-
public void Clear()
43+
public IReadOnlyDictionary<string, IPlaceholder> Clear()
44+
{
45+
var placeholders = Placeholders
46+
.OrderBy(x=> x.Value.Offset.Start)
47+
.ToDictionary(x=> x.Key, x=> x.Value);
48+
49+
ClearInternal();
50+
51+
return placeholders;
52+
}
53+
54+
private void ClearInternal()
5355
{
54-
Placeholders.Clear();
56+
Placeholders.Clear();;
5557
}
5658
}
5759
}

0 commit comments

Comments
 (0)