public void AncestryTest()
        {
            GenericRootFolder root = new GenericRootFolder("Foo", ContentModelMockObjectFactory.CreateObjectPersistor());
            GenericFolder folder1 = new GenericFolder(root, "Folder1");
            GenericFolder folder2 = new GenericFolder(root, "Folder2");
            GenericFolder folder3 = new GenericFolder(folder2, "Folder3");
            GenericDocument doc1 = new GenericDocument(folder1, "Doc1", "text/plain");
            GenericDocument doc2 = new GenericDocument(folder3, "Doc2", "text/plain");

            //The root folder is the ancestor of everyone
            Assert.IsTrue(root.IsAncestorOf(doc1));
            Assert.IsTrue(root.IsAncestorOf(doc2));

            //And everyone is the descendent of the root folder
            Assert.IsTrue(doc1.IsDescendentOf(root));
            Assert.IsTrue(doc2.IsDescendentOf(root));

            //doc1 is a descendent of folder1
            Assert.IsTrue(doc1.IsDescendentOf(folder1));
            Assert.IsFalse(doc1.IsDescendentOf(folder2));
            Assert.IsFalse(doc1.IsDescendentOf(folder3));

            //doc2 is a descendent of folder2 and folder3
            Assert.IsFalse(doc2.IsDescendentOf(folder1));
            Assert.IsTrue(doc2.IsDescendentOf(folder2));
            Assert.IsTrue(doc2.IsDescendentOf(folder3));
        }
        public void EmptyTest()
        {
            GenericRootFolder root = new GenericRootFolder("Foo", ContentModelMockObjectFactory.CreateObjectPersistor());

            Assert.AreEqual(0, root.Children.Count);
            Assert.IsFalse(root.IsAncestorOf(root));
            Assert.IsFalse(root.IsDescendentOf(root));
            Assert.AreEqual(Path.DirectorySeparatorChar.ToString(), root.Name);
            Assert.AreEqual(Path.DirectorySeparatorChar.ToString(), root.Path);
            Assert.IsNull(root.Parent);
            Assert.IsNull(root.ParentFolder);
            Assert.IsNull(root.FileSystemParent);
            Assert.AreEqual(root, root.RootFolder);
            Assert.AreEqual("Foo", root.Source);
        }