public static IPhysicalProjectTree Create(IProjectTreeProvider provider = null, IProjectTree currentTree = null, IProjectTreeService service = null) { var mock = new Mock <IPhysicalProjectTree>(); mock.Setup(t => t.TreeProvider) .Returns(provider ?? IProjectTreeProviderFactory.Create()); mock.Setup(t => t.CurrentTree) .Returns(currentTree ?? ProjectTreeParser.Parse("Project")); mock.Setup(t => t.TreeService) .Returns(service ?? IProjectTreeServiceFactory.Create()); return(mock.Object); }
public async Task CreateFile_InRootFolder(string input, string expected, string expectedFilePath) { var inputTree = ProjectTreeParser.Parse(input); var expectedTree = ProjectTreeParser.Parse(expected); var projectTreeService = IProjectTreeServiceFactory.Create(inputTree); var sourceItemsProvider = IProjectItemProviderFactory.CreateWithAdd(inputTree); var fileSystem = IFileSystemFactory.Create(path => false, path => { // Verify that file is created on disk. Assert.Equal(expectedFilePath, path); return(null); }); var provider = new AppConfigFileSpecialFileProvider(projectTreeService, sourceItemsProvider, null, fileSystem); var filePath = await provider.GetFileAsync(SpecialFiles.AppConfig, SpecialFileFlags.CreateIfNotExist); Assert.Equal(expectedFilePath, filePath); AssertAreEquivalent(expectedTree, inputTree); }
public async Task CreateFile_CallTemplateProvider(string input, string expected, string expectedFilePath) { var inputTree = ProjectTreeParser.Parse(input); var expectedTree = ProjectTreeParser.Parse(expected); var projectTreeService = IProjectTreeServiceFactory.Create(inputTree); var sourceItemsProvider = IProjectItemProviderFactory.CreateWithAdd(inputTree); var fileSystem = IFileSystemFactory.Create(path => false, path => { // Verify that file is created on disk. Assert.False(true, "File system create shouldn't have been called directly."); return(null); }); var templateProvider = new Lazy <ICreateFileFromTemplateService>(() => ICreateFileFromTemplateServiceFactory.Create()); var provider = new SettingsFileSpecialFileProvider(projectTreeService, sourceItemsProvider, templateProvider, fileSystem); var filePath = await provider.GetFileAsync(SpecialFiles.AppSettings, SpecialFileFlags.CreateIfNotExist); Assert.Equal(expectedFilePath, filePath); AssertAreEquivalent(expectedTree, inputTree); }
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); }