Example #1
0
        public void PrepareOutputDirectory_WithExistentDirectoryAndExceptionOnDelete_ShouldCallCreateEvenOnExceptionThrown()
        {
            string fileName          = "test.targets";
            string testDirectoryName = "TestDirectory";

            Mock <IFileSystem>       fileSystemMock       = new Mock <IFileSystem>();
            Mock <IFile>             fileMock             = new Mock <IFile>();
            Mock <IMarkdownDocument> markdownDocumentMock = new Mock <IMarkdownDocument>();
            Mock <PrintableDocument <IMarkdownDocument> > printableDocumentMock = new Mock <PrintableDocument <IMarkdownDocument> >();

            printableDocumentMock.Setup(pdm => pdm.Save(It.IsAny <string>(), It.IsAny <IPrintableDocument>()))
            .Returns(true);
            printableDocumentMock.Setup(pdm => pdm.Create(It.IsAny <string>())).Returns(markdownDocumentMock.Object);

            fileMock.Setup(fm => fm.ReadAllText()).Returns("<Project></Project>");
            fileSystemMock.Setup(fsm => fsm.Exists(It.Is <string>(p => p.Equals(testDirectoryName))))
            .Returns(true);
            fileSystemMock.Setup(fsm => fsm.GetFile(It.Is <string>(f => f.Equals(fileName))))
            .Returns(fileMock.Object);
            fileSystemMock.Setup(fsm => fsm.DeleteDirectory(testDirectoryName)).Throws <IOException>();

            FileSystem.SetAccessor(fileSystemMock.Object);

            MsBuildDocumentationGenerator <IMarkdownDocument> documentationGenerator =
                new MsBuildDocumentationGenerator <IMarkdownDocument>(fileName, printableDocumentMock.Object);

            documentationGenerator.CreateDocumentation(testDirectoryName);

            fileSystemMock.Verify(fsm => fsm.DeleteDirectory(testDirectoryName), Times.Exactly(1));
            fileSystemMock.Verify(fsm => fsm.CreateDirectory(testDirectoryName), Times.Exactly(1));
        }
Example #2
0
        public void PrepareOutputDirectory_WithNotExistentDirectory_ShouldCallCreate()
        {
            string fileName          = "test.targets";
            string testDirectoryName = "TestDirectory";

            var fileSystemMock        = CreateFileSystemMock(testDirectoryName, fileName, false);
            var printableDocumentMock = CreatePrintableDocumentMock();

            FileSystem.SetAccessor(fileSystemMock.Object);

            MsBuildDocumentationGenerator <IMarkdownDocument> documentationGenerator =
                new MsBuildDocumentationGenerator <IMarkdownDocument>(fileName, printableDocumentMock.Object);

            documentationGenerator.CreateDocumentation(testDirectoryName);

            fileSystemMock.Verify(fsm => fsm.CreateDirectory(testDirectoryName), Times.Exactly(1));
        }