Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }