コード例 #1
0
        public void CanonicaliseAbsolute_When_RootDoesNotExist_LeavesPartsUnchanged()
        {
            var originalPath = @"e:\a\b\c";
            var expectedPath = @"e:\a\b\c";

            var api = Mock.Of <WindowsFileSystemApi.Internal>(a => a.Lookup(@"e:\") == null);
            var sut = new WindowsPathCanonicaliser();

            var result = sut.CanonicaliseAbsolute(api, originalPath);

            Assert.That(result.LocalPath, Is.EqualTo(expectedPath));
        }
コード例 #2
0
        public void TryCanonicaliseRelative_When_RootDoesNotExist_LeavesPartsUnchanged()
        {
            var parts         = new [] { "A", "B", "C" };
            var expectedParts = new [] { "A", "B", "C" };

            var api = Mock.Of <WindowsFileSystemApi.Internal>(a => a.Lookup(Root) == null);
            var sut = new WindowsPathCanonicaliser();

            var exists = sut.TryCanonicaliseRelative(api, Root, parts);

            Assert.That(exists, Is.False);
            Assert.That(parts, Is.EqualTo(expectedParts));
        }
コード例 #3
0
        public void CanonicaliseAbsolute_When_AllPartsExistWithSameCase_ReturnsOriginalCasing()
        {
            var originalPath = @"e:\a\b\c";
            var expectedPath = @"e:\a\b\c";

            var api = Mock.Of <WindowsFileSystemApi.Internal>();

            MockHierarchy(Mock.Get(api), @"e:\", "a", "b", "c");
            var sut = new WindowsPathCanonicaliser();

            var result = sut.CanonicaliseAbsolute(api, originalPath);

            Assert.That(result.LocalPath, Is.EqualTo(expectedPath));
        }
コード例 #4
0
        public void CanonicaliseAbsolute_DirectoryPath_ReturnsDirectoryUri()
        {
            var originalPath = @"e:\a\b\c\";
            var expectedPath = @"e:\a\b\c\";

            var api = Mock.Of <WindowsFileSystemApi.Internal>();

            MockHierarchy(Mock.Get(api), @"e:\", "a", "b", "c");
            var sut = new WindowsPathCanonicaliser();

            var result = sut.CanonicaliseAbsolute(api, originalPath);

            Assert.That(result.LocalPath, Is.EqualTo(expectedPath));
        }
コード例 #5
0
        public void CanonicaliseAbsolute_When_SomePartsExistWithDifferentCasing_ReturnsCorrectCasingForExistingParts()
        {
            var originalPath = @"e:\A\B\C";
            var expectedPath = @"e:\a\b\C";

            var api = Mock.Of <WindowsFileSystemApi.Internal>();

            MockHierarchy(Mock.Get(api), @"e:\", "a", "b");
            var sut = new WindowsPathCanonicaliser();

            var result = sut.CanonicaliseAbsolute(api, originalPath);

            Assert.That(result.LocalPath, Is.EqualTo(expectedPath));
        }
コード例 #6
0
        public void TryCanonicaliseRelative_When_SomePartsExistWithDifferentCasing_ReturnsFalseAndCorrectCasingForExistingParts()
        {
            var parts         = new [] { "A", "B", "C" };
            var expectedParts = new [] { "a", "b", "C" };

            var api = Mock.Of <WindowsFileSystemApi.Internal>();

            MockHierarchy(Mock.Get(api), Root, "a", "b");
            var sut = new WindowsPathCanonicaliser();

            var exists = sut.TryCanonicaliseRelative(api, Root, parts);

            Assert.That(exists, Is.False);
            Assert.That(parts, Is.EqualTo(expectedParts));
        }
コード例 #7
0
        public void TryCanonicaliseRelative_When_AllPartsExistWithSameCase_ReturnsTrueAndOriginalCasing()
        {
            var parts         = new [] { "a", "b", "c" };
            var expectedParts = new [] { "a", "b", "c" };

            var api = Mock.Of <WindowsFileSystemApi.Internal>();

            MockHierarchy(Mock.Get(api), Root, parts);
            var sut = new WindowsPathCanonicaliser();

            var exists = sut.TryCanonicaliseRelative(api, Root, parts);

            Assert.That(exists, Is.True);
            Assert.That(parts, Is.EqualTo(expectedParts));
        }