예제 #1
0
        public void SaveAs_FilePathIsDirectory_ThrowArgumentException()
        {
            // Setup
            using (var writer = new TestShapeFileWriterBase())
            {
                // Call
                TestDelegate call = () => writer.SaveAs("c:/");

                // Assert
                const string expectedMessage = "bestandspad mag niet verwijzen naar een lege bestandsnaam.";
                string       message         = Assert.Throws <ArgumentException>(call).Message;
                StringAssert.Contains(expectedMessage, message);
            }
        }
예제 #2
0
        public void SaveAs_NoFilePath_ThrowArgumentException(string filePath)
        {
            // Setup
            using (var writer = new TestShapeFileWriterBase())
            {
                // Call
                TestDelegate call = () => writer.SaveAs(filePath);

                // Assert
                const string expectedMessage = "bestandspad mag niet leeg of ongedefinieerd zijn.";
                string       message         = Assert.Throws <ArgumentException>(call).Message;
                StringAssert.Contains(expectedMessage, message);
            }
        }
예제 #3
0
        public void SaveAs_FilePathHasInvalidPathCharacter_ThrowArgumentException()
        {
            // Setup
            char[] invalidPathChars = Path.GetInvalidPathChars();
            string filePath         = "c:/_.shp".Replace('_', invalidPathChars[0]);

            using (var writer = new TestShapeFileWriterBase())
            {
                // Call
                TestDelegate call = () => writer.SaveAs(filePath);

                // Assert
                const string expectedMessage = "Fout bij het lezen van bestand 'c:/\".shp': "
                                               + "er zitten ongeldige tekens in het bestandspad. Alle tekens in het bestandspad moeten geldig zijn.";
                TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentException>(call, expectedMessage);
            }
        }
예제 #4
0
        public void SaveAs_InvalidDirectoryRights_ThrowCriticalFileWriteException()
        {
            string directoryPath = TestHelper.GetScratchPadPath(nameof(SaveAs_InvalidDirectoryRights_ThrowCriticalFileWriteException));
            string filePath      = Path.Combine(directoryPath, "test.shp");

            using (var disposeHelper = new DirectoryDisposeHelper(TestHelper.GetScratchPadPath(), nameof(SaveAs_InvalidDirectoryRights_ThrowCriticalFileWriteException)))
                using (var writer = new TestShapeFileWriterBase())
                {
                    disposeHelper.LockDirectory(FileSystemRights.Write);

                    // Call
                    TestDelegate call = () => writer.SaveAs(filePath);

                    // Assert
                    string expectedMessage = $"Er is een onverwachte fout opgetreden tijdens het schrijven van het bestand '{filePath}'.";
                    string message         = Assert.Throws <CriticalFileWriteException>(call).Message;
                    Assert.AreEqual(expectedMessage, message);
                }
        }