Пример #1
0
 public void Constructor_OK()
 {
     object temp = null;
     Assert.DoesNotThrow(() => { temp = new DirectoryInfoProxy(_folder); });
     var sut = temp as DirectoryInfoProxy;
     Assert.IsNotNull(sut, "Object constructed, but null.");
 }
Пример #2
0
 public void Exists_False()
 {
     var path = Path.GetRandomFileName();
     var expected = new DirectoryInfo(path).Exists;
     var sut = new DirectoryInfoProxy(path);
     var actual = sut.Exists;
     Assert.AreEqual(expected, actual, "Property does not match wrapped property.");
 }
Пример #3
0
        public void CreateSublocation_Rooted()
        {
            var newFolder = TestHelper.NewAbsoluteDirectoryName();

            DirectoryInfoProxy actual = null;
            var sut = new DirectoryInfoProxy(_folder);

            Assert.Throws<ArgumentException>(() => actual = sut.CreateSublocation(newFolder));
            Assert.IsNull(actual);

            var di = new DirectoryInfo(newFolder);
            Assert.IsFalse(di.Exists);
        }
Пример #4
0
        public async Task EnumerateFileSystemInfos()
        {
            var root = TestData.GetTestSpecificPath();
            await TestData.CreateTestSpecificFileAsync("a_y.py", "not important");

            await TestData.CreateTestSpecificFileAsync("b_y.py", "not important");

            await TestData.CreateTestSpecificFileAsync("c_z.py", "not important");

            var proxy = new DirectoryInfoProxy(root);
            var files = proxy.EnumerateFileSystemInfos(new[] { "*.py" }, new[] { "*z.py" }).OrderBy(x => x.FullName).ToArray();

            files.Should().HaveCount(2);

            files[0].FullName.Should().Be(Path.Combine(root, "a_y.py"));
            files[1].FullName.Should().Be(Path.Combine(root, "b_y.py"));
        }
Пример #5
0
        public void CreateSublocation_Relative()
        {
            // Using Resharper, folders will be build in
            // %LocalAppData%\JetBrains\Installations\ReSharperPlatformVs12
            // var basePath = @"%LocalAppData%\JetBrains\Installations\ReSharperPlatformVs12";

            var newFolder = TestHelper.NewRelativeDirectoryName();
            var sut = new DirectoryInfoProxy(_folder);

            DirectoryInfoProxy actual = null;
            Assert.DoesNotThrow(() => actual = sut.CreateSublocation(newFolder));
            Assert.IsNotNull(actual);
            Assert.IsTrue(actual.Exists);

            DirectoryInfo di = null;
            Assert.DoesNotThrow(() => di = new DirectoryInfo(actual.FullName));
            Assert.IsNotNull(di);
            Assert.IsTrue(di.Exists);

            di.Delete();
        }
Пример #6
0
        public void Test_Equality_Operators()
        {
            var folder1 = Environment.GetFolderPath(Environment.SpecialFolder.Windows);
            var folder2 = Environment.GetFolderPath(Environment.SpecialFolder.System);

            var item1 = new DirectoryInfoProxy(folder1);
            var item3 = item1;
            var item2 = new DirectoryInfoProxy(folder2);
            DirectoryInfoProxy item4 = null;

            Assert.IsTrue(item1 == item3);
            Assert.IsTrue(item1 != item2);
            Assert.IsTrue(item1 != item4);
        }
Пример #7
0
        public void Test_Equality()
        {
            var folder = Environment.GetFolderPath(Environment.SpecialFolder.Windows);
            var differentFolder = Environment.CurrentDirectory;

            var item1 = new DirectoryInfoProxy(folder);
            var item2 = new DirectoryInfoProxy(folder);
            var item3 = new DirectoryInfoProxy(folder);

            Testing.Cush.TestEquality(item1, item2, item3);

            // set them different by one item property.
            //==========================================
            item1 = new DirectoryInfoProxy(differentFolder);
            Assert.IsTrue(item2.Equals(item3));
            Assert.IsFalse(item1.Equals(item2));
            Assert.IsFalse(item1.Equals(item3));
            Testing.Cush.TestEquality(item1, item2, item3);

            item2 = new DirectoryInfoProxy(differentFolder);
            Assert.IsTrue(item1.Equals(item2));
            Assert.IsFalse(item3.Equals(item1));
            Assert.IsFalse(item3.Equals(item2));
            Testing.Cush.TestEquality(item1, item2, item3);

            // Set them equal.
            item3 = new DirectoryInfoProxy(differentFolder);
            Assert.IsTrue(item1.Equals(item2));
            Assert.IsTrue(item1.Equals(item3));
            Assert.IsTrue(item2.Equals(item3));
            Testing.Cush.TestEquality(item1, item2, item3);
        }
Пример #8
0
        public void Refresh_And_Attributes()
        {
            _dummy = CreateDirectory();
            var fileName = _dummy.FullName;

            var fi = new DirectoryInfoProxy(fileName);
            var f1Attr = fi.Attributes; // Touching the attributes makes them stick/stale.
            Assert.IsNotNull(f1Attr);

            var fi2 = new DirectoryInfoProxy(fileName);
            fi2.Attributes = fi2.Attributes | FileAttributes.ReadOnly;

            f1Attr = fi.Attributes; // ...still stale...
            var f2Attr = fi2.Attributes;

            Assert.AreNotEqual(f1Attr, f2Attr);
            Assert.AreNotEqual(fi.Attributes, fi2.Attributes);

            fi.Refresh();

            Assert.AreEqual(fi.Attributes, fi2.Attributes);
        }
Пример #9
0
 public void Name()
 {
     var expected = _directoryInfo.Name;
     var sut = new DirectoryInfoProxy(_folder);
     var actual = sut.Name;
     Assert.AreEqual(expected, actual, "Property does not match wrapped property.");
 }
Пример #10
0
        public void Delete_Recursive()
        {
            var di = TestHelper.CreateStackOf3Directories();

            Assert.That(TestHelper.ShouldExist(true, di));

            var sut = new DirectoryInfoProxy(di[0].FullName);

            Assert.DoesNotThrow(() => sut.Delete(true));
            TestHelper.Refresh(di);

            Assert.That(TestHelper.ShouldExist(false, di));
        }
Пример #11
0
 public void Constructor_EmptyPath()
 {
     object temp = null;
     Assert.Throws<ArgumentException>(() => { temp = new DirectoryInfoProxy(string.Empty); });
     Assert.IsNull(temp, "Exception thrown in constructor, but object constructed.");
 }
Пример #12
0
        public void GetLocations_With_null_SearchPattern()
        {
            var di = TestHelper.CreateStackOf3Directories();

            var sut = new DirectoryInfoProxy(di[0].FullName);

            var actual = sut.GetLocations(searchPattern: null);

            Assert.IsNotNull(actual);
            Assert.AreEqual(0, actual.Length);

            Assert.AreEqual(new ILocationInfo[0], actual);

            di[0].Delete(true);
        }
Пример #13
0
        public void GetLocations_WithoutSearchPattern()
        {
            var di = TestHelper.CreateStackOf3Directories();
            var expected = di[0].GetDirectories();

            var sut = new DirectoryInfoProxy(di[0].FullName);
            var actual = sut.GetLocations();

            foreach (var eItem in expected)
            {
                var found = false;
                foreach (var aItem in actual)
                {
                    if (eItem.FullName == aItem.FullName)
                    {
                        found = true;
                    }
                }
                Assert.IsTrue(found);
            }

            di[0].Delete(true);
        }
Пример #14
0
 public void Root()
 {
     var expected = _directoryInfo.Root;
     var sut = new DirectoryInfoProxy(_folder);
     var actual = sut.Root;
     TestHelper.CheckDirectoryProperties(expected, actual);
 }
Пример #15
0
 public void Constructor_NullPath()
 {
     object temp = null;
     Assert.Throws<ArgumentNullException>(() => { temp = new DirectoryInfoProxy(path: null); });
     Assert.IsNull(temp, "Exception thrown in constructor, but object constructed.");
 }
Пример #16
0
        public void IResourceInfo_GetResources()
        {
            var location = Environment.CurrentDirectory;
            var expected = TestHelper.GetFileInfos(location);
            var sut = new DirectoryInfoProxy(location);
            var actual = ((ILocationInfo)sut).GetResources();

            foreach (var eItem in expected)
            {
                var found = false;
                foreach (var aItem in actual)
                {
                    if (eItem.FullName == aItem.FullName)
                    {
                        found = true;
                    }
                }
                Assert.IsTrue(found);
            }
        }
Пример #17
0
 public void ILocationInfo_Root()
 {
     var expected = _directoryInfo.Root;
     var sut = new DirectoryInfoProxy(_folder);
     var actual = ((ILocationInfo) sut).Root;
     TestHelper.CheckDirectoryProperties(expected, actual);
 }
Пример #18
0
        public void ILocationInfo_GetLocations()
        {
            var di = TestHelper.CreateStackOf3Directories();
            var partialName = di[1].Name;

            var sut = new DirectoryInfoProxy(di[0].FullName);

            var actual = ((ILocationInfo)sut).GetLocations(partialName);

            Assert.IsNotNull(actual);
            Assert.AreEqual(1, actual.Length);
            Assert.AreEqual(di[1].FullName, actual[0].FullName);

            di[0].Delete(true);
        }
Пример #19
0
        public void IEquatable_Equality()
        {
            var folder = Environment.GetFolderPath(Environment.SpecialFolder.Windows);
            var item1 = new DirectoryInfoProxy(folder);

            Assert.IsFalse(((IEquatable<ILocationInfo>)item1).Equals(null));
            Assert.IsTrue(((IEquatable<ILocationInfo>)item1).Equals(item1));
        }
Пример #20
0
        public void Test_Equality_ReferenceEquals()
        {
            var folder = Environment.GetFolderPath(Environment.SpecialFolder.Windows);
            var item1 = new DirectoryInfoProxy(folder);

            Assert.IsFalse(item1.Equals(null));
            Assert.IsTrue(item1.Equals(item1));
        }
Пример #21
0
        public void Test_GetHashCode()
        {
            var folder = Environment.GetFolderPath(Environment.SpecialFolder.Windows);

            // If two distinct objects compare as equal, their hashcodes must be equal.
            var item1 = new DirectoryInfoProxy(folder);
            var item2 = new DirectoryInfoProxy(folder);
            Assert.That(item1 == item2);

            Testing.Cush.TestGetHashCode(item1, item2);
        }
Пример #22
0
        public void GetResources_With_FullName_SearchPattern()
        {
            var expected = TestHelper.GetFileInfos(@"C:\");
            Assert.IsNotNull(expected);
            Assert.That(expected.Length > 0);
            var sut = new DirectoryInfoProxy(Environment.CurrentDirectory);

            var actual = sut.GetResources(expected[0].FullName);

            Assert.IsNotNull(actual);
            Assert.That(actual.Length > 0);
            Assert.AreEqual(expected[0].FullName, actual[0].FullName);
        }
Пример #23
0
 public void Exists_True()
 {
     var sut = new DirectoryInfoProxy(_folder);
     var actual = sut.Exists;
     Assert.IsTrue(actual, "Property does not match wrapped property.");
 }
Пример #24
0
        public void GetResources_With_null_SearchPattern()
        {
            var sut = new DirectoryInfoProxy(Environment.CurrentDirectory);
            var actual = sut.GetResources(null);

            Assert.IsNotNull(actual);
            Assert.AreEqual(0, actual.Length);
            Assert.AreEqual(new IResourceInfo[0], actual);
        }