コード例 #1
0
        public void TestManifestAddEntityWithLocalizedPaths()
        {
            var manifest  = CdmCollectionHelperFunctions.GenerateManifest("C:\\Root\\Path");
            var cdmCorpus = manifest.Ctx.Corpus;

            var entity = new CdmEntityDefinition(cdmCorpus.Ctx, "entityName", null);

            entity.Explanation = "The explanation of the entity";

            CdmCollectionHelperFunctions.CreateDocumentForEntity(cdmCorpus, entity);

            var cdmEntity = new CdmEntityDefinition(cdmCorpus.Ctx, "cdmEntityName", null);

            CdmCollectionHelperFunctions.CreateDocumentForEntity(cdmCorpus, cdmEntity, "cdm");


            var localizedEntityDeclaration = manifest.Entities.Add(entity);
            var cdmEntityDeclaration       = manifest.Entities.Add(cdmEntity);

            Assert.AreEqual("The explanation of the entity", localizedEntityDeclaration.Explanation);
            Assert.AreEqual("entityName.cdm.json/entityName", localizedEntityDeclaration.EntityPath);
            Assert.AreEqual("entityName", localizedEntityDeclaration.EntityName);
            Assert.AreEqual("cdm:/cdmEntityName.cdm.json/cdmEntityName", cdmEntityDeclaration.EntityPath);
            Assert.AreEqual("entityName", localizedEntityDeclaration.EntityName);

            Assert.AreEqual(2, manifest.Entities.Count);
            Assert.AreEqual(localizedEntityDeclaration, manifest.Entities[0]);
            Assert.AreEqual(cdmEntityDeclaration, manifest.Entities[1]);
        }
コード例 #2
0
        public void TestCdmEntityCollectionRemoveEntityDeclarationDefinition()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Root\\Path");
            var entity   = new CdmEntityDefinition(manifest.Ctx, "entityName", null);

            CdmCollectionHelperFunctions.CreateDocumentForEntity(manifest.Ctx.Corpus, entity);
            var otherEntity = new CdmEntityDefinition(manifest.Ctx, "otherEntityName", null);

            CdmCollectionHelperFunctions.CreateDocumentForEntity(manifest.Ctx.Corpus, otherEntity);

            manifest.Entities.Add(entity);
            manifest.Entities.Add(otherEntity);

            Assert.AreEqual(2, manifest.Entities.Count);

            bool removed = manifest.Entities.Remove(entity);

            Assert.IsTrue(removed);
            Assert.AreEqual(1, manifest.Entities.Count);
            Assert.AreEqual(otherEntity.EntityName, manifest.Entities[0].EntityName);

            removed = manifest.Entities.Remove(entity);
            Assert.IsFalse(removed);
            Assert.AreEqual(1, manifest.Entities.Count);
        }
コード例 #3
0
        public void TestManifestAddListOfEntityDeclarations()
        {
            var cdmCorpus = new CdmCorpusDefinition();

            cdmCorpus.Storage.DefaultNamespace = "local";
            cdmCorpus.Storage.Mount("local", new LocalAdapter("CdmCorpus/LocalPath"));

            var ctx = cdmCorpus.Ctx;

            var cdmDocument = new CdmDocumentDefinition(ctx, "NameOfDocument");
            var collection  = new CdmEntityCollection(ctx, cdmDocument);

            var entityList = new List <CdmEntityDefinition>();

            for (int i = 0; i < 2; i++)
            {
                var entity = new CdmEntityDefinition(cdmCorpus.Ctx, $"entityName_{i}", null);
                CdmCollectionHelperFunctions.CreateDocumentForEntity(cdmCorpus, entity);
                entityList.Add(entity);
            }

            Assert.AreEqual(0, collection.Count);

            collection.AddRange(entityList);

            Assert.AreEqual(2, collection.Count);

            for (int i = 0; i < 2; i++)
            {
                Assert.AreEqual($"entityName_{i}", collection[i].EntityName);
            }
        }
コード例 #4
0
        public void TestManifestCanAddEntityDefinition()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Root\\Path");
            var entity   = new CdmEntityDefinition(manifest.Ctx, "entityName", null);

            CdmCollectionHelperFunctions.CreateDocumentForEntity(manifest.Ctx.Corpus, entity);

            manifest.Entities.Add(entity);

            Assert.AreEqual(1, manifest.Entities.Count);
            Assert.AreEqual("entityName", entity.EntityName);
        }
コード例 #5
0
        public void TestManifestCanAddEntityDeclaration()
        {
            var manifest = CdmCollectionHelperFunctions.GenerateManifest("C:\\Root\\Path");
            var entity   = new CdmEntityDefinition(manifest.Ctx, "entityName", null);

            CdmCollectionHelperFunctions.CreateDocumentForEntity(manifest.Ctx.Corpus, entity);

            var entityDeclaration = manifest.Ctx.Corpus.MakeObject <CdmEntityDeclarationDefinition>(Enums.CdmObjectType.LocalEntityDeclarationDef, entity.EntityName, false);

            entityDeclaration.EntityPath = $"{entity.Owner.AtCorpusPath}/{entity.EntityName}";

            manifest.Entities.Add(entityDeclaration);

            Assert.AreEqual("local:/entityName.cdm.json/entityName", entityDeclaration.EntityPath);
            Assert.AreEqual("entityName", entityDeclaration.EntityName);

            Assert.AreEqual(1, manifest.Entities.Count);
            Assert.AreEqual(entityDeclaration, manifest.Entities[0]);
        }
コード例 #6
0
        public void TestCdmCollectionAddingList()
        {
            var cdmCorpus = new CdmCorpusDefinition();

            cdmCorpus.Storage.DefaultNamespace = "local";
            cdmCorpus.Storage.Mount("local", new LocalAdapter("CdmCorpus/LocalPath"));

            var ctx = cdmCorpus.Ctx;

            var cdmDocument = new CdmDocumentDefinition(ctx, "NameOfDocument");
            var collection  = new CdmCollection <CdmEntityDeclarationDefinition>(ctx, cdmDocument, Enums.CdmObjectType.LocalEntityDeclarationDef);

            var entityList = new List <CdmEntityDeclarationDefinition>();

            for (int i = 0; i < 2; i++)
            {
                var entity = new CdmEntityDefinition(cdmCorpus.Ctx, $"entityName_{i}", null);

                CdmCollectionHelperFunctions.CreateDocumentForEntity(cdmCorpus, entity);

                var entityDeclaration = cdmCorpus.MakeObject <CdmEntityDeclarationDefinition>(Enums.CdmObjectType.LocalEntityDeclarationDef, entity.EntityName, false);
                entityDeclaration.Owner      = entity.Owner;
                entityDeclaration.EntityPath = $"{entity.Owner.AtCorpusPath}/{entity.EntityName}";

                entityList.Add(entityDeclaration);
            }
            Assert.AreEqual(0, collection.Count);

            collection.AddRange(entityList);

            Assert.AreEqual(2, collection.Count);

            for (int i = 0; i < 2; i++)
            {
                Assert.AreEqual($"entityName_{i}", collection[i].EntityName);
            }
        }