public async Task RecursivelyGetProjectReferences_ReturnsProjectReferences() { var mockFileSystem = new MockFileSystem(new Dictionary <string, MockFileData> { { XFS.Path(@"c:\SolutionPath\Project1\Project1.csproj"), Helpers.GetProjectFileWithProjectReferences( new string[] { @"..\Project2\Project2.csproj", }) }, { XFS.Path(@"c:\SolutionPath\Project2\Project2.csproj"), Helpers.GetProjectFileWithProjectReferences( new string[] { @"..\Project3\Project3.csproj", }) }, { XFS.Path(@"c:\SolutionPath\Project3\Project3.csproj"), new MockFileData(@"<Project></Project>") }, }); var mockDotnetUtilsService = new Mock <IDotnetUtilsService>(); var mockPackageFileService = new Mock <IPackagesFileService>(); var mockProjectAssetsFileService = new Mock <IProjectAssetsFileService>(); var projectFileService = new ProjectFileService( mockFileSystem, mockDotnetUtilsService.Object, mockPackageFileService.Object, mockProjectAssetsFileService.Object); var projects = await projectFileService.RecursivelyGetProjectReferencesAsync(XFS.Path(@"c:\SolutionPath\Project1\Project1.csproj")).ConfigureAwait(false); var sortedProjects = new List <string>(projects); sortedProjects.Sort(); Assert.Collection(sortedProjects, item => Assert.Equal(XFS.Path(@"c:\SolutionPath\Project2\Project2.csproj"), item), item => Assert.Equal(XFS.Path(@"c:\SolutionPath\Project3\Project3.csproj"), item)); }