Skip to content

Commit b60095c

Browse files
Merge pull request #43 from SimpleStateMachine/personal/rsolovev/format
Uncomment and fix tests
2 parents d0edb3e + 7676f58 commit b60095c

31 files changed

+273
-314
lines changed

src/SimpleStateMachine.StructuralSearch.Tests/Attributes/FilesDataAttribute.cs

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,16 @@
66

77
namespace SimpleStateMachine.StructuralSearch.Tests.Attributes;
88

9-
public class FilesDataAttribute : DataAttribute
9+
public class FilesDataAttribute(string folderPath) : DataAttribute
1010
{
11-
private readonly string _folderPath;
12-
13-
public FilesDataAttribute(string folderPath)
14-
{
15-
_folderPath = folderPath;
16-
}
17-
1811
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
1912
{
2013
ArgumentNullException.ThrowIfNull(testMethod);
2114

22-
if (!Directory.Exists(_folderPath))
23-
{
24-
throw new DirectoryNotFoundException($"Could not find folder: {_folderPath}");
25-
}
15+
if (!Directory.Exists(folderPath))
16+
throw new DirectoryNotFoundException($"Could not find folder: {folderPath}");
2617

27-
foreach (var file in Directory.GetFiles(_folderPath))
28-
{
18+
foreach (var file in Directory.GetFiles(folderPath))
2919
yield return [file];
30-
}
3120
}
3221
}

src/SimpleStateMachine.StructuralSearch.Tests/ConfigurationFileTests.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Collections.Generic;
2-
using System.IO;
1+
using System.IO;
32
using SimpleStateMachine.StructuralSearch.Tests.Mock;
43
using Xunit;
54

@@ -20,19 +19,19 @@ public static void ConfigurationFileParsingShouldBeSuccess(string filePath)
2019

2120
private static ConfigurationFile Mock()
2221
{
23-
var names = new[] { "AssignmentNullUnionOperator", "NullUnionOperator", "TernaryOperator"};
22+
var names = new[] { "AssignmentNullUnionOperator", "NullUnionOperator", "TernaryOperator" };
2423

2524
var configurationFile = new ConfigurationFile
2625
(
27-
configurations: new List<Configuration>()
26+
[]
2827
);
29-
28+
3029
foreach (var name in names)
3130
{
3231
var config = ConfigurationMock.GetConfigurationFromFiles(name);
3332
configurationFile.Configurations.Add(config);
3433
}
35-
34+
3635
return configurationFile;
3736
}
3837
}

src/SimpleStateMachine.StructuralSearch.Tests/ExamplesInput/NullUnionOperator.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace SimpleStateMachine.StructuralSearch.Tests.ExamplesInput;
1+
namespace SimpleStateMachine.StructuralSearch.Tests.ExamplesInput;
22

33
public class NullUnionOperator
44
{
@@ -7,8 +7,7 @@ public class NullUnionOperator
77
int? result;
88
int? temp1 = 5;
99
int? temp2 = 5;
10-
// TODO: try result = temp1 ?? temp2;
11-
10+
1211
if (temp1 is null)
1312
result = temp2;
1413
else
@@ -17,7 +16,6 @@ public class NullUnionOperator
1716

1817
public static void Test2()
1918
{
20-
2119
int? result;
2220
int? temp1 = 6;
2321
int? temp2 = 7;

src/SimpleStateMachine.StructuralSearch.Tests/ExamplesInput/Test.txt

Whitespace-only changes.

src/SimpleStateMachine.StructuralSearch.Tests/ExamplesOutput/NullUnionOperator.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace SimpleStateMachine.StructuralSearch.Tests.Examples;
1+
namespace SimpleStateMachine.StructuralSearch.Tests.ExamplesInput;
22

33
public class NullUnionOperator
44
{
@@ -7,13 +7,12 @@ public class NullUnionOperator
77
int? result;
88
int? temp1 = 5;
99
int? temp2 = 5;
10-
10+
1111
result = temp1 ?? temp2;
1212
}
1313

1414
public static void Test2()
1515
{
16-
1716
int? result;
1817
int? temp1 = 6;
1918
int? temp2 = 7;

src/SimpleStateMachine.StructuralSearch.Tests/ExamplesOutput/TernaryOperator.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace SimpleStateMachine.StructuralSearch.Tests.Examples;
1+
namespace SimpleStateMachine.StructuralSearch.Tests.ExamplesInput;
22

33
public class TernaryOperator
44
{

src/SimpleStateMachine.StructuralSearch.Tests/FindRuleParserTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66

77
namespace SimpleStateMachine.StructuralSearch.Tests;
88

9-
public class FindRuleParserTests
9+
public static class FindRuleParserTests
1010
{
1111
[Theory]
1212
[InlineData("$sign$ In (\"is\", \"==\", \"!=\", \"is not\")")]
1313
public static void FindRuleParsingShouldBeSuccess(string ruleStr)
1414
{
1515
LogicalExpressionParser.LogicalExpression.ParseToEnd(ruleStr);
1616
}
17-
17+
1818
[Theory]
1919
[FilesData("FindRule")]
2020
public static void FindRuleFileParsingShouldBeSuccess(string filePath)
Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.IO;
2+
using System.Linq;
23
using SimpleStateMachine.StructuralSearch.Extensions;
34
using SimpleStateMachine.StructuralSearch.Parsing;
45
using SimpleStateMachine.StructuralSearch.Tests.Attributes;
@@ -20,7 +21,7 @@ public static class FindTemplateTests
2021
[InlineData("if ($value$ $sign$ null)")]
2122
public static void FindTemplateParsingShouldBeSuccess(string templateStr)
2223
{
23-
var template = FindTemplateParser.Template.ParseToEnd(templateStr);
24+
FindTemplateParser.Template.ParseToEnd(templateStr);
2425
}
2526

2627
[Theory]
@@ -32,23 +33,23 @@ public static void FindTemplateFileParsingShouldBeSuccess(string filePath)
3233
Assert.NotEmpty(parsers);
3334
}
3435

35-
// [Theory]
36-
// [InlineData("FindTemplate/NullUnionOperator.txt", "Source/NullUnionOperator.txt")]
37-
// [InlineData("FindTemplate/AssignmentNullUnionOperator.txt", "Source/AssignmentNullUnionOperator.txt")]
38-
// [InlineData("FindTemplate/NestedParenthesised.txt", "Source/NestedParenthesised.txt")]
39-
// [InlineData("FindTemplate/TernaryOperator.txt", "Source/TernaryOperator.txt")]
40-
// public static void SourceParsingBeFindTemplateShouldBeSuccess(string templatePath, string sourcePath)
41-
// {
42-
// var findTemplate = File.ReadAllText(templatePath);
43-
// var source = File.ReadAllText(sourcePath);
44-
// var input = Input.Input.String(source);
45-
// var findParser = StructuralSearch.StructuralSearch.ParseFindTemplate(findTemplate);
46-
// var matches = findParser.Parse(input);
47-
// Assert.Single(matches);
48-
//
49-
// var match = matches.First();
50-
//
51-
// Assert.NotNull(findParser);
52-
// Assert.Equal(match.Match.Length, source.Length);
53-
// }
36+
[Theory]
37+
[InlineData("FindTemplate/NullUnionOperator.txt", "Source/NullUnionOperator.txt")]
38+
[InlineData("FindTemplate/AssignmentNullUnionOperator.txt", "Source/AssignmentNullUnionOperator.txt")]
39+
[InlineData("FindTemplate/NestedParenthesised.txt", "Source/NestedParenthesised.txt")]
40+
[InlineData("FindTemplate/TernaryOperator.txt", "Source/TernaryOperator.txt")]
41+
public static void SourceParsingBeFindTemplateShouldBeSuccess(string templatePath, string sourcePath)
42+
{
43+
var findTemplate = File.ReadAllText(templatePath);
44+
var source = File.ReadAllText(sourcePath);
45+
var input = Input.Input.String(source);
46+
var findParser = Parsing.StructuralSearch.ParseFindTemplate(findTemplate);
47+
var matches = findParser.Parse(input);
48+
Assert.Single(matches);
49+
50+
var match = matches.First();
51+
52+
Assert.NotNull(findParser);
53+
Assert.Equal(match.Match.Length, source.Length);
54+
}
5455
}

src/SimpleStateMachine.StructuralSearch.Tests/LogicalExpressionParserTests.cs

Lines changed: 47 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.IO;
4+
using System.Linq;
5+
using Pidgin;
36
using SimpleStateMachine.StructuralSearch.Extensions;
47
using SimpleStateMachine.StructuralSearch.Operator.Logical.Type;
58
using SimpleStateMachine.StructuralSearch.Parsing;
@@ -12,7 +15,6 @@ public static class LogicalExpressionParserTests
1215
{
1316
public static IEnumerable<string> StringCompareOperationCases()
1417
{
15-
// var parameters = ["$var$", "\"123\"", "$var$.Len"]
1618
foreach (var @operator in Enum.GetNames<StringCompareOperator>())
1719
{
1820
yield return $"{@operator} $var$";
@@ -89,21 +91,6 @@ public static void BinaryOperationParsingShouldBeSuccess(string input)
8991
{
9092
LogicalExpressionParser.BinaryOperation.ParseToEnd(input);
9193
}
92-
93-
// public static IEnumerable<string> BinaryOperationCases()
94-
// {
95-
// foreach (var access in ParametersParserTests.PropertyAccessCases())
96-
// {
97-
// foreach (var VARIABLE in COLLECTION)
98-
// {
99-
//
100-
// }
101-
// yield return $"{@operator} $var$ Equals $var$";
102-
// yield return $"{@operator} $var$ Equals $var$";
103-
// yield return $"{@operator} $var$ Equals $var$";
104-
// yield return $"{@operator} $var$ Equals $var$";
105-
// }
106-
// }
10794

10895
[Theory]
10996
[InlineData("$var$ equals $var$")]
@@ -131,42 +118,48 @@ public static void LogicalExpressionParsingShouldBeSuccess(string input)
131118
var result = operation.ToString()!;
132119
Assert.Equal(input.ToLower(), result.ToLower());
133120
}
134-
135-
// [Theory]
136-
// [InlineData("$var$ In \"Is\", \"==\", \"!=\", \"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
137-
// [InlineData("$var$ In (\"Is\", \"==\", \"!=\", \"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
138-
// [InlineData("$var$ In \"Is\",\"==\",\"!=\",\"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
139-
// [InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
140-
// [InlineData("$var$ In(\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
141-
// [InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
142-
// [InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
143-
// [InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
144-
// [InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
145-
// [InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
146-
// [InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
147-
// [InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
148-
// [InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
149-
// [InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
150-
// [InlineData("Not ($var$ equals $var$.Length and $var$ StartsWith \"123\")", "Not $var$ equals $var$.Length and $var$ StartsWith \"123\"")]
151-
// [InlineData("Not ($var$ equals $var$.Length)", "Not $var$ equals $var$.Length")]
152-
// public static void FindRuleExprParsingShouldBeEqualsCustomResult(string ruleStr, string customResult)
153-
// {
154-
// var rule = LogicalExpressionParser.LogicalExpression.ParseOrThrow(ruleStr);
155-
// var ruleAsStr = rule.ToString()?.ToLower();
156-
// Assert.NotNull(rule);
157-
// Assert.Equal(ruleAsStr, customResult.ToLower());
158-
// }
159-
//
160-
// [Theory]
161-
// [InlineData("FindRule/NullUnionOperator.txt", "$sign$ In \"is\",\"==\",\"!=\",\"is not\"")]
162-
// [InlineData("FindRule/AssignmentNullUnionOperator.txt", "$sign$ In \"is\",\"==\",\"!=\",\"is not\"")]
163-
// public static void FindRuleParsingFromFileShouldBeSuccess(string filePath, params string[] customResult)
164-
// {
165-
// var ruleStr = File.ReadAllText(filePath);
166-
// var rules = ruleStr.Split(Constant.LineFeed)
167-
// .Select(StructuralSearch.StructuralSearch.ParseFindRule);
168-
// var rulesAsStr = rules.Select(x => x.ToString()).ToArray();
169-
//
170-
// Assert.True(customResult.SequenceEqual(rulesAsStr));
171-
// }
121+
122+
[Theory]
123+
[InlineData("$var$ Is int", "$var$ Is int")]
124+
[InlineData("$var$ In \"Is\", \"==\", \"!=\", \"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
125+
[InlineData("$var$ In (\"Is\", \"==\", \"!=\", \"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
126+
[InlineData("$var$ In \"Is\",\"==\",\"!=\",\"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
127+
[InlineData("$var$ In \"Is\" , \"==\" , \"!=\" , \"is not\"", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
128+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
129+
[InlineData("$var$ In(\"Is\",\"==\",\"!=\",\"is not\")", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
130+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
131+
[InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
132+
[InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
133+
[InlineData("$var$ In ( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
134+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
135+
[InlineData("$var$ In (\"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
136+
[InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\" ) ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
137+
[InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\" )", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
138+
[InlineData("$var$ In( \"Is\",\"==\",\"!=\",\"is not\") ", "$var$ In \"Is\",\"==\",\"!=\",\"is not\"")]
139+
[InlineData("Not $var$ Is int", "Not $var$ Is int")]
140+
[InlineData("$var$ equals $var$.Length", "$var$ equals $var$.Length")]
141+
[InlineData("$var$ equals (\"123\")", "$var$ equals (\"123\")")]
142+
[InlineData("Not $var$ equals $var$.Length", "Not $var$ equals $var$.Length")]
143+
[InlineData("Not ($var$ equals $var$.Length)", "Not ($var$ equals $var$.Length)")]
144+
[InlineData("Not ($var$ equals $var$.Length and $var$ StartsWith \"123\")", "Not ($var$ equals $var$.Length and $var$ StartsWith \"123\")")]
145+
public static void FindRuleExprParsingShouldBeEqualsCustomResult(string ruleStr, string customResult)
146+
{
147+
var rule = LogicalExpressionParser.LogicalExpression.ParseOrThrow(ruleStr);
148+
var ruleAsStr = rule.ToString()?.ToLower();
149+
Assert.NotNull(rule);
150+
Assert.Equal(ruleAsStr, customResult.ToLower());
151+
}
152+
153+
[Theory]
154+
[InlineData("FindRule/NullUnionOperator.txt", "$sign$ In \"is\",\"==\",\"!=\",\"is not\"")]
155+
[InlineData("FindRule/AssignmentNullUnionOperator.txt", "$sign$ In \"is\",\"==\",\"!=\",\"is not\"")]
156+
public static void FindRuleParsingFromFileShouldBeSuccess(string filePath, params string[] customResult)
157+
{
158+
var ruleStr = File.ReadAllText(filePath);
159+
var rules = ruleStr.Split(Constant.LineFeed)
160+
.Select(Parsing.StructuralSearch.ParseFindRule);
161+
var rulesAsStr = rules.Select(x => x.ToString()).ToArray();
162+
163+
Assert.True(customResult.SequenceEqual(rulesAsStr));
164+
}
172165
}

src/SimpleStateMachine.StructuralSearch.Tests/ParametersParserTests.cs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public static class ParametersParserTests
1717
public static void PlaceholderParsingShouldBeSuccess(string str)
1818
{
1919
var result = ParametersParser.PlaceholderParameter.ParseToEnd(str);
20-
// result = EscapeHelper.Escape(result);
21-
// Assert.Equal(result.ToLower(), str.ToLower());
20+
var resultStr = result.ToString();
21+
Assert.Equal(resultStr.ToLower(), str.ToLower());
2222
}
2323

2424
[Theory]
@@ -39,10 +39,8 @@ public static void PlaceholderInputParsingShouldBeSuccess(string str)
3939
public static IEnumerable<string> PlaceholderPositionCases()
4040
{
4141
foreach (var position in Enum.GetNames<PlaceholderPositionType>())
42-
{
43-
foreach (var subProperty in Enum.GetNames<PlaceholderPositionSubProperty>())
44-
yield return $"{position}.{subProperty}";
45-
}
42+
foreach (var subProperty in Enum.GetNames<PlaceholderPositionSubProperty>())
43+
yield return $"{position}.{subProperty}";
4644
}
4745

4846
[Theory]
@@ -74,7 +72,7 @@ public static IEnumerable<string> ChainableStringCases()
7472

7573
yield return string.Format(template, string.Join('.', names));
7674
}
77-
75+
7876
[Theory]
7977
[StringMemberData(nameof(ChainableStringCases))]
8078
public static void ChainableStringParsingShouldBeSuccess(string str)
@@ -105,7 +103,7 @@ public static void PropertyAccessParsingShouldBeSuccess(string str)
105103
var result = parameter.ToString()!;
106104
Assert.Equal(result.ToLower(), str.ToLower());
107105
}
108-
106+
109107
[Theory]
110108
[InlineData("\"132\"")]
111109
[InlineData("(\"132\")")]

0 commit comments

Comments
 (0)