예제 #1
0
 public void DefaultConstructor_ExpectedValues()
 {
     // Call
     using (var writer = new TestShapeFileWriterBase())
     {
         // Assert
         Assert.IsInstanceOf <IDisposable>(writer);
     }
 }
예제 #2
0
        public void CopyToFeature_MapFeaturesEmpty_ThrowsArgumentException()
        {
            // Setup
            using (var writer = new TestShapeFileWriterBase())
            {
                // Call
                TestDelegate test = () => writer.CopyToFeature(new MapLineData("test"));

                // Assert
                TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentException>(test, "Mapdata mag maar één feature bevatten.");
            }
        }
예제 #3
0
        public void CopyToFeature_MapDataNull_ThrowsArgumentNullException()
        {
            // Setup
            using (var writer = new TestShapeFileWriterBase())
            {
                // Call
                TestDelegate test = () => writer.CopyToFeature(null);

                // Assert
                var exception = Assert.Throws <ArgumentNullException>(test);
                Assert.AreEqual("featureBasedMapData", exception.ParamName);
            }
        }
예제 #4
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);
            }
        }
예제 #5
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);
            }
        }
예제 #6
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);
            }
        }
예제 #7
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);
                }
        }