Example #1
0
        public async Task LoadRefObjects()
        {
            IDataModel dm = await _dbContext.LoadModelAsync(null, "a2test.RefObjects");

            var md = new MetadataTester(dm);

            md.IsAllKeys("TRoot,TDocument,TAgent");
            md.IsItemType("TRoot", "Document", FieldType.Object);

            md.IsId("TDocument", "Id");
            md.IsItemType("TDocument", "Agent", FieldType.Object);
            md.IsItemType("TDocument", "Company", FieldType.Object);
            md.IsItemRefObject("TDocument", "Agent", "TAgent", FieldType.Object);
            md.IsItemRefObject("TDocument", "Company", "TAgent", FieldType.Object);

            md.IsId("TAgent", "Id");
            md.IsName("TAgent", null);
            md.IsType("TAgent", "Id", DataType.Number);
            md.IsType("TAgent", "Name", DataType.String);
            md.IsItemType("TAgent", "Id", FieldType.Scalar);
            md.IsItemType("TAgent", "Name", FieldType.Scalar);

            var dt = new DataTester(dm, "Document");

            dt.AreValueEqual(200, "Id");

            dt = new DataTester(dm, "Document.Agent");
            dt.AreValueEqual(300, "Id");
            dt.AreValueEqual("Agent Name", "Name");

            dt = new DataTester(dm, "Document.Company");
            dt.AreValueEqual(500, "Id");
            dt.AreValueEqual("Company Name", "Name");
        }
        public async Task MapObjects()
        {
            var dm = await _dbContext.LoadModelAsync(null, "a2test.[MapObjects.NoKey.Load]");

            var md = new MetadataTester(dm);

            md.HasAllProperties("TRoot", "Document,Categories");
            md.IsItemRefObject("TDocument", "Category", "TCategory", FieldType.Object);
            md.IsItemIsArrayLike("TRoot", "Categories");
            md.IsItemRefObject("TRoot", "Categories", "TCategory", FieldType.Map);
        }