예제 #1
0
        public virtual void Should_indicate_that_the_inherited_properties_of_the_resource_based_on_the_descendant_type_are_all_inherited()
        {
            var specializedSchoolResource = _resourceModel.GetResourceByFullName(new FullName("schema", "SpecializedSchool"));

            var inheritedProperties = specializedSchoolResource.InheritedProperties();

            Assert.That(inheritedProperties.All(p => p.IsInherited), Is.True);
        }
예제 #2
0
            protected override void Act()
            {
                _educationOrganizationAddresses = _resourceModel
                                                  .GetResourceByFullName(new FullName("edfi", "EducationOrganizationNetwork"))
                                                  .CollectionByName["EducationOrganizationAddresses"]
                                                  .ItemType;

                _student = _resourceModel.GetResourceByFullName(new FullName("edfi", "Student"));

                _studentExtension = _student.ExtensionByName["Sample"]
                                    .ObjectType;

                _studentPetPreference = _studentExtension.EmbeddedObjectByName["StudentPetPreference"]
                                        .ObjectType;

                _studentPet = _studentExtension.CollectionByName["StudentPets"]
                              .ItemType;
            }
예제 #3
0
        internal static Resource_Resource GetTestResourceForWithAnExtension()
        {
            IDomainModelDefinitionsProvider domainCoreDefinitionProvider = BuildCoreModelEntityDefinitionsProvider();
            IDomainModelDefinitionsProvider extensionDefinitionProvider  = BuildTestExtensionDefinitionsProvider();

            List <IDomainModelDefinitionsProvider> providerList = new List <IDomainModelDefinitionsProvider>
            {
                domainCoreDefinitionProvider, extensionDefinitionProvider
            };

            DomainModelProvider ddm = new DomainModelProvider(providerList);

            var domainModel = ddm.GetDomainModel();

            var resourceModel = new ResourceModel(domainModel);
            var resource      = resourceModel.GetResourceByFullName(new FullName(EdFiConventions.PhysicalSchemaName, "CoreEntity"));

            //  force the Lazy-initialization to execute (it will be easier to debug).
            var extensions = resource.Extensions;

            return(resource);
        }
예제 #4
0
        private static Resource_Resource GetTestResource()
        {
            var domainModelBuilder = new DomainModelBuilder();

            domainModelBuilder.AddEntity(
                new EntityDefinition(
                    "schema1",
                    "TestEntity1",
                    new[]
            {
                new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true),
                new EntityPropertyDefinition("StringProperty1", new PropertyType(DbType.String), null, false),
                new EntityPropertyDefinition("DateProperty1", new PropertyType(DbType.Date), null, false)
            },
                    new[]
            {
                new EntityIdentifierDefinition(
                    "PK",
                    new[]
                {
                    "KeyProperty1"
                },
                    isPrimary: true)
            }));

            domainModelBuilder.AddAggregate(new AggregateDefinition(new FullName("schema1", "TestEntity1"), new FullName[0]));

            domainModelBuilder.AddSchema(new SchemaDefinition("schema1", "schema1"));
            domainModelBuilder.AddSchema(new SchemaDefinition("Ed-Fi", "edfi"));

            var resourceModel = new ResourceModel(domainModelBuilder.Build());

            var resource = resourceModel.GetResourceByFullName(new FullName("schema1", "TestEntity1"));

            return(resource);
        }
예제 #5
0
        private static Resource_Resource GetTestResource()
        {
            var domainModelBuilder = new DomainModelBuilder();

            domainModelBuilder.AddSchema(new SchemaDefinition("schema1", "schema1"));

            domainModelBuilder.AddEntity(
                new EntityDefinition(
                    "schema1",
                    "TestEntity",
                    new[]
            {
                new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true),
                new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.String), null, true)
            },
                    new[]
            {
                new EntityIdentifierDefinition(
                    "PK",
                    new[]
                {
                    "KeyProperty1", "KeyProperty2"
                },
                    isPrimary: true)
            }));

            domainModelBuilder.AddEntity(
                new EntityDefinition(
                    "schema1",
                    "TestEntity1",
                    new[]
            {
                new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true),
                new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.String), null, true)
            },
                    new[]
            {
                new EntityIdentifierDefinition(
                    "PK",
                    new[]
                {
                    "KeyProperty1", "KeyProperty2"
                },
                    isPrimary: true)
            }));

            //Setup TestEntity Reference
            domainModelBuilder.AddAssociation(
                new AssociationDefinition(
                    new FullName("schema1", "FK_TestEntity_TestEntity1"),
                    Cardinality.OneToZeroOrMore,
                    new FullName("schema1", "TestEntity1"),
                    new[]
            {
                new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true),
                new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.String), null, true)
            },
                    new FullName("schema1", "TestEntity"),
                    new[]
            {
                new EntityPropertyDefinition("KeyProperty1", new PropertyType(DbType.Int32), null, true),
                new EntityPropertyDefinition("KeyProperty2", new PropertyType(DbType.String), null, true)
            },
                    true,
                    true));

            domainModelBuilder.AddAggregate(
                new AggregateDefinition(
                    new FullName("schema1", "TestEntity"),
                    new[]
            {
                new FullName("schema1", "TestEntity")
            }));

            //Add aggregate for reference of TestEntity
            domainModelBuilder.AddAggregate(
                new AggregateDefinition(
                    new FullName("schema1", "TestEntity1"),
                    new[]
            {
                new FullName("schema1", "TestEntity1")
            }));

            var resourceModel = new ResourceModel(domainModelBuilder.Build());

            var resource = resourceModel.GetResourceByFullName(new FullName("schema1", "TestEntity"));

            return(resource);
        }