Skip to content

Commit b8bd672

Browse files
committed
fix tests
1 parent acf6c5f commit b8bd672

File tree

13 files changed

+96
-37
lines changed

13 files changed

+96
-37
lines changed

src/SimpleStateMachine.StructuralSearch.Tests/Templates/IfElseTemplate.txt renamed to src/SimpleStateMachine.StructuralSearch.Tests/FindTemplate/IfElseTemplate.txt

File renamed without changes.

src/SimpleStateMachine.StructuralSearch.Tests/Templates/IfValueIsNullTemplate.txt renamed to src/SimpleStateMachine.StructuralSearch.Tests/FindTemplate/IfValueIsNullTemplate.txt

File renamed without changes.

src/SimpleStateMachine.StructuralSearch.Tests/Templates/NestedParenthesisedTemplate.txt renamed to src/SimpleStateMachine.StructuralSearch.Tests/FindTemplate/NestedParenthesisedTemplate.txt

File renamed without changes.

src/SimpleStateMachine.StructuralSearch.Tests/FindTemplateTests.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,33 @@ namespace SimpleStateMachine.StructuralSearch.Tests
77
public class FindTemplateTests
88
{
99
[Theory]
10-
[InlineData("Templates/IfElseTemplate.txt")]
11-
[InlineData("Templates/IfValueIsNullTemplate.txt")]
12-
[InlineData("Templates/NestedParenthesisedTemplate.txt")]
10+
[InlineData("FindTemplate/IfElseTemplate.txt")]
11+
[InlineData("FindTemplate/IfValueIsNullTemplate.txt")]
12+
[InlineData("FindTemplate/NestedParenthesisedTemplate.txt")]
1313
public void TemplateParsingShouldBeSuccess(string templatePath)
1414
{
15-
var templateStr = File.ReadAllText(templatePath);
16-
var template = StructuralSearch.ParseTemplate(templateStr);
15+
var findTemplate = File.ReadAllText(templatePath);
16+
var template = StructuralSearch.ParseTemplate(findTemplate);
1717

1818
Assert.NotNull(template);
1919
}
2020

2121
[Theory]
22-
[InlineData("Templates/IfElseTemplate.txt", "Sources/IfElseSource.txt")]
23-
[InlineData("Templates/IfValueIsNullTemplate.txt", "Sources/IfValueIsNullSource.txt")]
24-
[InlineData("Templates/NestedParenthesisedTemplate.txt", "Sources/NestedParenthesisedSource.txt")]
25-
public void SourceParsingBeTemplateShouldBeSuccess(string templatePath, string sourcePath)
22+
[InlineData("FindTemplate/IfElseTemplate.txt", "Source/IfElseSource.txt")]
23+
[InlineData("FindTemplate/IfValueIsNullTemplate.txt", "Source/IfValueIsNullSource.txt")]
24+
[InlineData("FindTemplate/NestedParenthesisedTemplate.txt", "Source/NestedParenthesisedSource.txt")]
25+
public void SourceParsingBeFindTemplateShouldBeSuccess(string templatePath, string sourcePath)
2626
{
27-
var templateStr = File.ReadAllText(templatePath);
28-
var sourceStr = File.ReadAllText(sourcePath);
27+
var findTemplate = File.ReadAllText(templatePath);
28+
var source = File.ReadAllText(sourcePath);
2929

30-
var template = StructuralSearch.ParseTemplate(templateStr);
31-
var result = template.ParseOrThrow(sourceStr);
30+
var template = StructuralSearch.ParseTemplate(findTemplate);
31+
var result = template.ParseOrThrow(source);
3232

3333
Assert.NotNull(template);
3434
Assert.NotNull(result);
3535
Assert.NotNull(result.Value);
36-
Assert.Equal(result.Lenght, sourceStr.Length);
36+
Assert.Equal(result.Lenght, source.Length);
3737
}
3838
}
3939
}

src/SimpleStateMachine.StructuralSearch.Tests/PlaceholderParserTests.cs

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,39 @@ namespace SimpleStateMachine.StructuralSearch.Tests
66
{
77
public class PlaceholderParserTests
88
{
9-
// [Fact]
10-
// public void FindTemplateShouldBeNotEmpty()
11-
// {
12-
// Assert.Throws<Exception>(() => StructuralSearch.ParseTemplate(string.Empty));
13-
// }
9+
[Fact]
10+
public void FindTemplateShouldBeNotEmpty()
11+
{
12+
Assert.Throws<ParseException>(() => StructuralSearch.ParseTemplate(string.Empty));
13+
}
1414

1515

16-
// [Theory]
17-
// [InlineData("($test$)", "(value )", "value ")]
18-
// [InlineData("($test$ )", "(value )", "value")]
19-
// [InlineData("($test$)", "(value (test))", "value (test)")]
20-
// public void TemplateParsingShouldBeSuccess(string template, string source, string result)
21-
// {
22-
// var templateParser = StructuralSearch.ParseTemplate(template);
23-
// var res = templateParser.ParseOrThrow(source);
24-
// // var templateStr = File.ReadAllText(templatePath);
25-
// // var template = StructuralSearch.ParseTemplate(templateStr);
26-
// //
27-
// // Assert.NotNull(template);
28-
// }
16+
[Theory]
17+
[InlineData("($test$)", "(value )", "value ")]
18+
[InlineData("($test$ )", "(value )", "value")]
19+
[InlineData("($test$)", "(value (test))", "value (test)")]
20+
public void TemplateParsingShouldBeSuccess(string template, string source, string result)
21+
{
22+
var templateParser = StructuralSearch.ParseTemplate(template);
23+
var res = templateParser.ParseOrThrow(source);
24+
25+
// var templateStr = File.ReadAllText(templatePath);
26+
// var template = StructuralSearch.ParseTemplate(templateStr);
27+
//
28+
// Assert.NotNull(template);
29+
}
30+
31+
[Theory]
32+
[InlineData("$var$;$var2$;", "test;;;test;;;", "value ")]
33+
public void TemplateParsingShouldBeSuccess2(string template, string source, string result)
34+
{
35+
var templateParser = StructuralSearch.ParseTemplate(template);
36+
var res = templateParser.ParseOrThrow(source);
37+
38+
// var templateStr = File.ReadAllText(templatePath);
39+
// var template = StructuralSearch.ParseTemplate(templateStr);
40+
//
41+
// Assert.NotNull(template);
42+
}
2943
}
3044
}

src/SimpleStateMachine.StructuralSearch.Tests/SimpleStateMachine.StructuralSearch.Tests.csproj

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,19 @@
2525
</ItemGroup>
2626

2727
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
28-
<Content Include="Sources\*.txt">
28+
<Content Include="Source\*.txt">
2929
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
3030
</Content>
31-
<Content Include="Templates\*.txt">
31+
<Content Include="FindTemplate\*.txt">
3232
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
3333
</Content>
34+
<Content Include="ReplaceTemplate\*.txt">
35+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
36+
</Content>
37+
</ItemGroup>
38+
39+
<ItemGroup>
40+
<Folder Include="ReplaceTemplate" />
3441
</ItemGroup>
3542

3643
</Project>

src/SimpleStateMachine.StructuralSearch.Tests/Sources/IfElseSource.txt renamed to src/SimpleStateMachine.StructuralSearch.Tests/Source/IfElseSource.txt

File renamed without changes.

src/SimpleStateMachine.StructuralSearch.Tests/Sources/IfValueIsNullSource.txt renamed to src/SimpleStateMachine.StructuralSearch.Tests/Source/IfValueIsNullSource.txt

File renamed without changes.

src/SimpleStateMachine.StructuralSearch.Tests/Sources/NestedParenthesisedSource.txt renamed to src/SimpleStateMachine.StructuralSearch.Tests/Source/NestedParenthesisedSource.txt

File renamed without changes.

src/SimpleStateMachine.StructuralSearch/Extensions/ParserExtensions.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ public static Parser<TToken, IEnumerable<T>> AtLeastOnceUntilNot<TToken, T, U>(t
3434
? parser.AtLeastOnceUntil(Not(terminator))
3535
: throw new ArgumentNullException(nameof(parser));
3636
}
37+
38+
39+
public static Parser<TToken, IEnumerable<T>> UntilNot<TToken, T, U>(this Parser<TToken, T> parser,
40+
Parser<TToken, U> terminator)
41+
{
42+
return parser != null
43+
? parser.Until(Not(terminator))
44+
: throw new ArgumentNullException(nameof(parser));
45+
}
3746

3847

3948
// public static Parser<TToken, TOut> WithResult<TToken, TOut>(this Parser<TToken, TOut> parser, Func<TToken, SourcePos, TOut> transformResult)

0 commit comments

Comments
 (0)