Address comment · microsoft/VSConfigFinder@c345346 (original) (raw)
``
1
`+
//
`
``
2
`+
// Copyright (C) Microsoft Corporation. All rights reserved.
`
``
3
`+
// Licensed under the MIT license. See LICENSE.txt in the project root for license information.
`
``
4
`+
//
`
``
5
+
``
6
`+
namespace VSConfigFinder.Test
`
``
7
`+
{
`
``
8
`+
using Moq;
`
``
9
`+
using Xunit;
`
``
10
+
``
11
`+
public class ExtensionsTests
`
``
12
`+
{
`
``
13
`+
[Fact]
`
``
14
`+
public void GetFileSystemEntries_MultiplePaths_ReturnSet()
`
``
15
`+
{
`
``
16
`+
var path1 = "C:\path1";
`
``
17
`+
var subpath1 = Path.Combine(path1, "subpath1", ".vsconfig");
`
``
18
`+
var subpath2 = Path.Combine(path1, "subpath2", "something.vsconfig");
`
``
19
`+
var path2 = "C:\path2";
`
``
20
`+
var subpath3 = Path.Combine(path2, "subpath3", ".vsconfig");
`
``
21
`+
var subpath4 = Path.Combine(path2, "subpath4", "something.vsconfig");
`
``
22
`+
var path3 = path2;
`
``
23
`+
var subpath5 = subpath3;
`
``
24
`+
var subpath6 = subpath4;
`
``
25
+
``
26
`+
var fileSystem = new Mock();
`
``
27
`+
fileSystem.Setup(x => x.GetFileSystemEntries(path1, "*.vsconfig", true)).Returns(new[] { subpath1, subpath2 });
`
``
28
`+
fileSystem.Setup(x => x.GetFileSystemEntries(path2, "*.vsconfig", true)).Returns(new[] { subpath3, subpath4 });
`
``
29
`+
fileSystem.Setup(x => x.GetFileSystemEntries(path3, "*.vsconfig", true)).Returns(new[] { subpath5, subpath6 });
`
``
30
+
``
31
`+
var paths = new[] { path1, path2, path3 };
`
``
32
+
``
33
`+
var result = Extensions.GetFileSystemEntries(fileSystem.Object, paths, "*.vsconfig", recursive: true);
`
``
34
+
``
35
`+
Assert.Equal(4, result.Count());
`
``
36
`+
Assert.Contains(subpath1, result);
`
``
37
`+
Assert.Contains(subpath2, result);
`
``
38
`+
Assert.Contains(subpath3, result);
`
``
39
`+
Assert.Contains(subpath4, result);
`
``
40
`+
}
`
``
41
`+
}
`
``
42
`+
}
`