Beispiel #1
0
 public static void IsWellFormedContainerPath(
     [NotNull] string path,
     [NotNull, InvokerParameterName] string argName)
 {
     Code.NotNullNorEmpty(path, argName);
     if (!PathHelper.IsWellFormedContainerPath(path))
     {
         throw IoCodeExceptions.ArgumentNotVolumeOrDirectoryPath(argName, path);
     }
 }
Beispiel #2
0
        public void TestIsWellFormedPath(string path, PathKind pathState)
        {
            switch (pathState)
            {
            case PathKind.Throws:
                Assert.Throws <ArgumentException>(() => PathHelper.IsWellFormedPath(path));
                Assert.Throws <ArgumentException>(() => PathHelper.IsWellFormedAbsolutePath(path));
                Assert.Throws <ArgumentException>(() => PathHelper.IsWellFormedRelativePath(path));
                Assert.Throws <ArgumentException>(() => PathHelper.IsWellFormedContainerPath(path));
                Assert.Throws <ArgumentException>(() => PathHelper.IsWellFormedFileName(path));
                break;

            case PathKind.Invalid:
                Assert.AreEqual(PathHelper.IsWellFormedPath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedAbsolutePath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedRelativePath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedContainerPath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedFileName(path), false);
                break;

            case PathKind.ValidAbsolutePath:
                Assert.AreEqual(PathHelper.IsWellFormedPath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedAbsolutePath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedRelativePath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedContainerPath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedFileName(path), false);
                break;

            case PathKind.ValidAbsoluteContainerPath:
                Assert.AreEqual(PathHelper.IsWellFormedPath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedAbsolutePath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedRelativePath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedContainerPath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedFileName(path), false);
                break;

            case PathKind.ValidRelativePath:
                Assert.AreEqual(PathHelper.IsWellFormedPath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedAbsolutePath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedRelativePath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedContainerPath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedFileName(path), false);
                break;

            case PathKind.ValidRelativeContainerPath:
                Assert.AreEqual(PathHelper.IsWellFormedPath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedAbsolutePath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedRelativePath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedContainerPath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedFileName(path), false);
                break;

            case PathKind.ValidFileName:
                Assert.AreEqual(PathHelper.IsWellFormedPath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedAbsolutePath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedRelativePath(path), true);
                Assert.AreEqual(PathHelper.IsWellFormedContainerPath(path), false);
                Assert.AreEqual(PathHelper.IsWellFormedFileName(path), true);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(pathState), pathState, null);
            }
        }