Esempio n. 1
0
        public void Save_CreateEmptyBookWithFileWriterInCaseOfCustomBasePath_Success()
        {
            var book = new XMindConfiguration()
                       .WriteTo.Writers(
                new List <IXMindWriter> {
                new FileWriter()
                .SetOutput(new FileWriterOutputConfig(_files[0])
                           .SetBasePath(Path.Combine(_customOutputFolderName, "META-INF"))),
                new FileWriter()
                .SetOutput(new FileWriterOutputConfig(_files[1]).SetBasePath(_customOutputFolderName)),
                new FileWriter()
                .SetOutput(new FileWriterOutputConfig(_files[2]).SetBasePath(_customOutputFolderName))
            })
                       .WriteTo.SetWriterBinding(FileWriterFactory.CreateStandardResolvers())
                       .CreateWorkBook(workbookName: "test");

            //Act
            book.Save();
            //Assert
            DirectoryInfo di = new DirectoryInfo(_customOutputFolderName);

            di.GetFileSystemInfos("*.xml")
            .Select(fi => fi.Should().BeOfType <FileInfo>().Which.Name.Should().BeOneOf(_files))
            .All(x => true);
        }
        public static XMindConfiguration WithFileWriter(
            this XMindConfiguration config,
            string?basePath = default,
            bool zip        = false)
        {
            var result = config
                         .WriteTo.Writers(FileWriterFactory.CreateStandardWriters(basePath))
                         .WriteTo.SetWriterBinding(FileWriterFactory.CreateStandardResolvers());

            if (zip)
            {
                result.WriteTo.SetFinalizeAction(CreateZipXMindFolderCallback(basePath));
            }
            return(result);
        }