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); }
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]); }
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); }
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); }
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); }
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)); }
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); }
private CdmTraitReference GenerateTrait() { var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Nothing"); return(new CdmTraitReference(manifest.Ctx, "traitName", false, false)); }