Ejemplo n.º 1
0
        public void TestCdmTraitCollectionAdd()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Root\\Path");

            var trait      = new CdmTraitDefinition(manifest.Ctx, "TraitName", null);
            var otherTrait = new CdmTraitDefinition(manifest.Ctx, "Name of other Trait", null);

            manifest.TraitCache = new Dictionary <string, ResolvedTraitSetBuilder>();

            var addedTrait      = manifest.ExhibitsTraits.Add(trait);
            var addedOtherTrait = manifest.ExhibitsTraits.Add(otherTrait);

            Assert.IsNull(manifest.TraitCache);
            Assert.AreEqual(2, manifest.ExhibitsTraits.Count);
            Assert.AreEqual(trait, manifest.ExhibitsTraits[0].ExplicitReference);
            Assert.AreEqual(otherTrait, manifest.ExhibitsTraits[1].ExplicitReference);
            Assert.AreEqual(addedTrait, manifest.ExhibitsTraits[0]);
            Assert.AreEqual(addedOtherTrait, manifest.ExhibitsTraits[1]);

            Assert.AreEqual(manifest, manifest.ExhibitsTraits[0].Owner);
        }
Ejemplo n.º 2
0
        public void TestCdmDefinitionCollectionInsert()
        {
            var document = CdmCollectionHelperFunctions.GenerateManifest();

            var ent1 = document.Definitions.Add("ent1");
            var ent2 = document.Definitions.Add("ent2");

            document.IsDirty = false;

            var attribute = new CdmAttributeContext(document.Ctx, "the attribute");

            document.Definitions.Insert(0, attribute);

            Assert.AreEqual(3, document.Definitions.Count);
            Assert.IsTrue(document.IsDirty);
            Assert.AreEqual(attribute, document.Definitions[0]);
            Assert.AreEqual(document, attribute.InDocument);
            Assert.AreEqual(document, attribute.Owner);
            Assert.AreEqual(ent1, document.Definitions[1]);
            Assert.AreEqual(ent2, document.Definitions[2]);
        }
Ejemplo n.º 3
0
        public void TestDocumentCollectionAddWithDocumentName()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Root\\Path");
            var folder   = new CdmFolderDefinition(manifest.Ctx, "Folder");

            folder.Corpus     = manifest.Ctx.Corpus;
            folder.FolderPath = "FolderPath/";
            folder.Namespace  = "Namespace";

            Assert.AreEqual(0, folder.Documents.Count);
            var document = folder.Documents.Add("DocumentName");

            Assert.AreEqual(1, folder.Documents.Count);

            Assert.AreEqual("DocumentName", document.Name);
            Assert.AreEqual(document, folder.Documents[0]);
            Assert.AreEqual("FolderPath/", document.FolderPath);
            Assert.AreEqual(folder, document.Owner);
            Assert.AreEqual("Namespace", document.Namespace);
            Assert.IsTrue(document.NeedsIndexing);
        }
Ejemplo n.º 4
0
        public void TestFolderCollectionAddWithNameParameter()
        {
            var manifest     = CdmCollectionHelperFunctions.GenerateManifest();
            var parentFolder = new CdmFolderDefinition(manifest.Ctx, "ParentFolder");

            parentFolder.Namespace  = "TheNamespace";
            parentFolder.FolderPath = "ParentFolderPath/";

            CdmFolderCollection childFolders = parentFolder.ChildFolders;

            Assert.AreEqual(0, childFolders.Count);
            var childFolder = childFolders.Add("ChildFolder1");

            Assert.AreEqual(1, childFolders.Count);
            Assert.AreEqual(childFolder, childFolders[0]);
            Assert.AreEqual(manifest.Ctx, childFolder.Ctx);
            Assert.AreEqual("ChildFolder1", childFolder.Name);
            Assert.AreEqual(parentFolder, childFolder.Owner);
            Assert.AreEqual("TheNamespace", childFolder.Namespace);
            Assert.AreEqual(parentFolder.FolderPath + childFolder.Name + "/", childFolder.FolderPath);
        }
Ejemplo n.º 5
0
        public void TestCdmCollectionChangeMakesDocumentDirty()
        {
            var manifest   = CdmCollectionHelperFunctions.GenerateManifest();
            var collection = new CdmCollection <CdmEntityReference>(manifest.Ctx, manifest, Enums.CdmObjectType.EntityRef);

            manifest.IsDirty = false;
            collection.Add(new CdmEntityReference(manifest.Ctx, "name", false));
            Assert.IsTrue(manifest.IsDirty);
            manifest.IsDirty = false;
            collection.Add("theName");
            Assert.IsTrue(manifest.IsDirty);
            var entity     = new CdmEntityReference(manifest.Ctx, "otherEntity", false);
            var entityList = new List <CdmEntityReference>()
            {
                entity
            };

            manifest.IsDirty = false;
            collection.AddRange(entityList);
            Assert.IsTrue(manifest.IsDirty);
            manifest.IsDirty = false;
            var entity2 = new CdmEntityReference(manifest.Ctx, "otherEntity2", false);

            collection.Insert(0, entity2);
            Assert.IsTrue(manifest.IsDirty);

            manifest.IsDirty = false;
            collection.Remove(entity);
            Assert.IsTrue(manifest.IsDirty);

            manifest.IsDirty = false;
            collection.RemoveAt(0);
            Assert.IsTrue(manifest.IsDirty);

            manifest.IsDirty = false;
            collection.Clear();
            Assert.IsTrue(manifest.IsDirty);
        }
Ejemplo n.º 6
0
        public void TestDocumentCollectionRemoveAt()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest();
            var folder   = new CdmFolderDefinition(manifest.Ctx, "Folder");

            folder.Corpus     = manifest.Ctx.Corpus;
            folder.FolderPath = "FolderPath/";
            folder.Namespace  = "Namespace";

            var document  = folder.Documents.Add("DocumentName");
            var document2 = folder.Documents.Add("DocumentName2");
            var document3 = folder.Documents.Add("DocumentName3");

            Assert.AreEqual(manifest.Ctx.Corpus.documentLibrary.ListAllDocuments().Count, 3);
            Assert.IsTrue(manifest.Ctx.Corpus.documentLibrary.Contains(Tuple.Create(folder, document)));
            Assert.IsTrue(manifest.Ctx.Corpus.documentLibrary.Contains(Tuple.Create(folder, document2)));
            Assert.IsTrue(manifest.Ctx.Corpus.documentLibrary.Contains(Tuple.Create(folder, document3)));

            Assert.AreEqual(folder.DocumentLookup.Count, 3);
            Assert.IsTrue(folder.DocumentLookup.ContainsKey(document.Name));
            Assert.IsTrue(folder.DocumentLookup.ContainsKey(document2.Name));
            Assert.IsTrue(folder.DocumentLookup.ContainsKey(document3.Name));

            folder.Documents.RemoveAt(1);
            folder.Documents.Remove("DocumentName");
            folder.Documents.Remove(document3);

            Assert.AreEqual(manifest.Ctx.Corpus.documentLibrary.ListAllDocuments().Count, 0);
            Assert.IsFalse(manifest.Ctx.Corpus.documentLibrary.Contains(Tuple.Create(folder, document)));
            Assert.IsFalse(manifest.Ctx.Corpus.documentLibrary.Contains(Tuple.Create(folder, document2)));
            Assert.IsFalse(manifest.Ctx.Corpus.documentLibrary.Contains(Tuple.Create(folder, document3)));

            Assert.AreEqual(folder.DocumentLookup.Count, 0);
            Assert.IsFalse(folder.DocumentLookup.ContainsKey(document.Name));
            Assert.IsFalse(folder.DocumentLookup.ContainsKey(document2.Name));
            Assert.IsFalse(folder.DocumentLookup.ContainsKey(document3.Name));
        }
Ejemplo n.º 7
0
        public void CdmTraitCollectionRemoveTraitDefinitionPrioritizeFromProperty()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Root\\Path");

            var trait      = new CdmTraitDefinition(manifest.Ctx, "TraitName", null);
            var otherTrait = new CdmTraitDefinition(manifest.Ctx, "Name of other Trait", null);

            manifest.ExhibitsTraits.Add(trait);
            manifest.ExhibitsTraits.Add(otherTrait);
            manifest.ExhibitsTraits.Add(trait);
            (manifest.ExhibitsTraits[2] as CdmTraitReference).IsFromProperty = true;
            manifest.ExhibitsTraits.Add(otherTrait);
            manifest.ExhibitsTraits.Add(trait);
            (manifest.ExhibitsTraits[4] as CdmTraitReference).IsFromProperty = true;
            manifest.ExhibitsTraits.Add(otherTrait);
            Assert.AreEqual(6, manifest.ExhibitsTraits.Count);

            Assert.IsTrue((manifest.ExhibitsTraits[2] as CdmTraitReference).IsFromProperty);

            manifest.ExhibitsTraits.Remove(trait);
            Assert.AreEqual("TraitName", (manifest.ExhibitsTraits[0].ExplicitReference as CdmTraitDefinition).TraitName);
            Assert.AreEqual("Name of other Trait", (manifest.ExhibitsTraits[2].ExplicitReference as CdmTraitDefinition).TraitName);
            Assert.AreEqual("TraitName", (manifest.ExhibitsTraits[3].ExplicitReference as CdmTraitDefinition).TraitName);
        }
        public void TestCdmImportCollectionAddRange()
        {
            var document = CdmCollectionHelperFunctions.GenerateManifest("C:\\Nothing");

            document.IsDirty = false;
            var importList = new List <CdmImport>()
            {
                new CdmImport(document.Ctx, "CorpusPath1", "Moniker1"),
                new CdmImport(document.Ctx, "CorpusPath2", "Moniker2")
            };

            document.Imports.AddRange(importList);

            Assert.IsTrue(document.IsDirty);
            Assert.AreEqual(2, document.Imports.Count);
            Assert.AreEqual(importList[0], document.Imports[0]);
            Assert.AreEqual(importList[1], document.Imports[1]);
            Assert.AreEqual("CorpusPath1", importList[0].CorpusPath);
            Assert.AreEqual("Moniker1", importList[0].Moniker);
            Assert.AreEqual(document.Ctx, importList[0].Ctx);
            Assert.AreEqual("CorpusPath2", importList[1].CorpusPath);
            Assert.AreEqual("Moniker2", importList[1].Moniker);
            Assert.AreEqual(document.Ctx, importList[1].Ctx);
        }
Ejemplo n.º 9
0
        private CdmTraitReference GenerateTrait()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Nothing");

            return(new CdmTraitReference(manifest.Ctx, "traitName", false, false));
        }