public void PredictReturnsCorrectResult(string patternString, string[] pushDirectory, string expectSegment, bool expectWildcard) { var builder = new PatternBuilder(); var pattern = builder.Build(patternString) as IRaggedPattern; Assert.NotNull(pattern); var context = new PatternContextRaggedInclude(pattern); PatternContextHelper.PushDirectory(context, pushDirectory); context.Declare((segment, last) => { if (expectSegment != null) { var mockSegment = segment as LiteralPathSegment; Assert.NotNull(mockSegment); Assert.Equal(false, last); Assert.Equal(expectSegment, mockSegment.Value); } else { Assert.Equal(Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments.WildcardPathSegment.MatchAll, segment); } }); }
public void TestFileForExcludeReturnsCorrectResult(string[] testSegments, string[] pushDirectory, string filename, bool expectResult) { var pattern = MockLinearPatternBuilder.New().Add(testSegments).Build(); var context = new PatternContextLinearExclude(pattern); PatternContextHelper.PushDirectory(context, pushDirectory); var result = context.Test(new FakeFileInfo(filename)); Assert.Equal(expectResult, result.IsSuccessful); }
public void TestDirectoryForIncludeReturnsCorrectResult(string[] testSegments, string[] pushDirectory, string directoryName, bool expectResult) { var pattern = MockLinearPatternBuilder.New().Add(testSegments).Build(); var context = new PatternContextLinearInclude(pattern); PatternContextHelper.PushDirectory(context, pushDirectory); var result = context.Test(new FakeDirectoryInfo(directoryName)); Assert.Equal(expectResult, result); }
public void PredictNotCallBackWhenEnterUnmatchDirectory(string[] testSegments, string[] pushDirectory) { var pattern = MockLinearPatternBuilder.New().Add(testSegments).Build(); var context = new PatternContextLinearInclude(pattern); PatternContextHelper.PushDirectory(context, pushDirectory); context.Declare((segment, last) => { Assert.False(true, "No segment should be declared."); }); }
public void PredictNotCallBackWhenEnterUnmatchDirectory(string patternString, string[] pushDirectory) { var builder = new PatternBuilder(); var pattern = builder.Build(patternString) as IRaggedPattern; var context = new PatternContextRaggedInclude(pattern); PatternContextHelper.PushDirectory(context, pushDirectory); context.Declare((segment, last) => { Assert.False(true, "No segment should be declared."); }); }
public void PredictReturnsCorrectResult(string[] testSegments, string[] pushDirectory, string expectSegment, bool expectLast) { var pattern = MockLinearPatternBuilder.New().Add(testSegments).Build(); var context = new PatternContextLinearInclude(pattern); PatternContextHelper.PushDirectory(context, pushDirectory); context.Declare((segment, last) => { var literal = segment as MockNonRecursivePathSegment; Assert.NotNull(segment); Assert.Equal(expectSegment, literal.Value); Assert.Equal(expectLast, last); }); }