public async Task GetFileAsync_WhenTreeWithExcludedFile_IsAddedToProjectIfCreateIfNotExist() { var tree = ProjectTreeParser.Parse($@" Project (flags: {{ProjectRoot}}), FilePath: ""C:\Project\Project.csproj"" {_fileName} (flags: {{FileSystemEntity FileOnDisk IncludeInProjectCandidate}}), FilePath: ""C:\Project\{_fileName}"" "); int callCount = 0; var storage = IPhysicalProjectTreeStorageFactory.ImplementAddFileAsync(path => callCount++); var physicalProjectTree = IPhysicalProjectTreeFactory.Create(currentTree: tree, storage: storage); var provider = CreateInstance(physicalProjectTree); await provider.GetFileAsync(0, SpecialFileFlags.CreateIfNotExist); Assert.Equal(1, callCount); }
public async Task GetFileAsync_WhenTreeWithMissingFile_IsCreatedIfCreateIfNotExist() { var tree = ProjectTreeParser.Parse($@" Project (flags: {{ProjectRoot}}), FilePath: ""C:\Project\Project.csproj"" {_fileName} (flags: {{}}), FilePath: ""C:\Project\{_fileName}"" "); int callCount = 0; var storage = IPhysicalProjectTreeStorageFactory.ImplementCreateEmptyFileAsync(path => callCount++); var physicalProjectTree = IPhysicalProjectTreeFactory.Create(currentTree: tree, storage: storage); var provider = CreateInstance(physicalProjectTree); await provider.GetFileAsync(0, SpecialFileFlags.CreateIfNotExist); Assert.Equal(1, callCount); }
public async Task GetFileAsync_WhenTreeWithExcludedFolder_IsAddedToProjectIfCreateIfNotExist() { var tree = ProjectTreeParser.Parse(@" Project (flags: {ProjectRoot}), FilePath: ""C:\Project\Project.csproj"" Properties (flags: {FileSystemEntity Folder IncludeInProjectCandidate}), FilePath: ""C:\Project\Properties"" "); int callCount = 0; var storage = IPhysicalProjectTreeStorageFactory.ImplementAddFolderAsync(path => callCount++); var physicalProjectTree = IPhysicalProjectTreeFactory.Create(currentTree: tree, storage: storage); var provider = CreateInstance(physicalProjectTree); await provider.GetFileAsync(SpecialFiles.AppDesigner, SpecialFileFlags.CreateIfNotExist); Assert.Equal(1, callCount); }
public async Task GetFileAsync_WhenTreeWithMissingAppDesignerFolder_IsCreatedIfCreateIfNotExist() { var tree = ProjectTreeParser.Parse(@" Project (flags: {ProjectRoot}), FilePath: ""C:\Project\Project.csproj"" Properties (flags: {Folder AppDesignerFolder}) "); int callCount = 0; var storage = IPhysicalProjectTreeStorageFactory.ImplementCreateFolderAsync(path => callCount++); var physicalProjectTree = IPhysicalProjectTreeFactory.Create(currentTree: tree, storage: storage); var provider = CreateInstance(physicalProjectTree); await provider.GetFileAsync(SpecialFiles.AppDesigner, SpecialFileFlags.CreateIfNotExist); Assert.Equal(1, callCount); }
public static IPhysicalProjectTree Create(IProjectTreeProvider?provider = null, IProjectTree?currentTree = null, IProjectTreeService?service = null, IPhysicalProjectTreeStorage?storage = null) { currentTree ??= ProjectTreeParser.Parse("Project"); provider ??= new ProjectTreeProvider(); storage ??= IPhysicalProjectTreeStorageFactory.Create(); service ??= IProjectTreeServiceFactory.Create(currentTree, provider); var mock = new Mock <IPhysicalProjectTree>(); mock.Setup(t => t.TreeProvider) .Returns(provider); mock.Setup(t => t.CurrentTree) .Returns(currentTree); mock.Setup(t => t.TreeService) .Returns(service); mock.Setup(t => t.TreeStorage) .Returns(storage); return(mock.Object); }