예제 #1
0
        public void ValidateEquality()
        {
            var file1 = new FileInfo(@"C:\file1.txt");
            var file2 = new FileInfo(@"C:\file2.txt");

            var one = new FileNode(file1, null, null, null);
            var oneRef = one;
            var oneToo = new FileNode(file1, null, null, null);
            var two = new FileNode(file2, null, null, null);

            Assert.IsTrue(one.Equals(oneRef));
            oneRef = null;
            // ReSharper disable ExpressionIsAlwaysNull
            Assert.IsFalse(one.Equals(oneRef));
            // ReSharper restore ExpressionIsAlwaysNull
            Assert.AreEqual(one, oneToo);
            Assert.AreEqual(one.GetHashCode(), oneToo.GetHashCode());
            Assert.AreEqual(one.ToString(), oneToo.ToString());

            Assert.AreNotEqual(one, two);
            var shouldBeTrue = one == oneToo;
            Assert.IsTrue(shouldBeTrue);

            var shouldBeFalse = one != oneToo;
            Assert.IsFalse(shouldBeFalse);

            Assert.IsFalse(one.Equals(new object()));
        }
예제 #2
0
        private static void EndLoadImage(IAsyncResult result, FileNode node)
        {
            var fileSet = ((IListViewFileSet) node.ParentNode);
            if (fileSet.ListView.InvokeRequired)
            {
                var d = new EndLoadImageCallback(EndLoadImage);
                fileSet.ListView.Invoke(d, new object[] { result, node });
            }
            else
            {
                node.Image = node.ImageGetter.EndGetImage(result);
                fileSet.ImageList.Images.Add(node.Key, node.Image);

                fileSet.ListView.Items[node.Key].ImageKey = node.Key;
                node.Done = true;
                Trace.WriteLine(string.Format("Updated image file {0}", node.Key));
            }
        }
예제 #3
0
 public void GiveFullNameAsKey()
 {
     var file1 = new FileInfo(@"C:\file1.txt");
     var node = new FileNode(file1, null, null, null);
     Assert.AreEqual(file1.FullName, node.Key);
 }
예제 #4
0
 protected bool Equals(FileNode other)
 {
     return File.FullName.Equals(other.File.FullName) && ReferenceEquals(ParentNode, other.ParentNode);
 }