Пример #1
0
        public void HiveEntityExtensions_GetAllIdentifiableItems_Gets_All_Items()
        {
            var e = HiveModelCreationHelper.MockTypedEntity(false);
            var r = new Revision <TypedEntity>(e);

            var actualEntities = e.Attributes.Cast <IReferenceByHiveId>()
                                 //we need to get ALL unique gruops... this is because the mocked hive model doesn't assign the groups properly.
                                 .Concat(e.EntitySchema.AttributeGroups
                                         .Concat(e.AttributeGroups)
                                         .Concat(e.Attributes.Select(x => x.AttributeDefinition.AttributeGroup))
                                         .Concat(e.EntitySchema.AttributeDefinitions.Select(x => x.AttributeGroup))
                                         .Distinct().Cast <IReferenceByHiveId>())
                                 .Concat(e.EntitySchema.AttributeDefinitions.Cast <IReferenceByHiveId>())
                                 .Concat(e.EntitySchema.AttributeTypes.Cast <IReferenceByHiveId>())
                                 .Concat(new[] { (IReferenceByHiveId)e.EntitySchema, (IReferenceByHiveId)r.Item, (IReferenceByHiveId)r.MetaData })
                                 .Distinct();

            Debug.WriteLine("actual total attributes: " + e.Attributes.Count);
            Debug.WriteLine("actual total entity groups: " + e.AttributeGroups.Count());
            Debug.WriteLine("actual total schema groups: " + e.EntitySchema.AttributeGroups.Count());
            Debug.WriteLine("actual total unique groups: " + e.EntitySchema.AttributeGroups
                            .Concat(e.AttributeGroups)
                            .Concat(e.Attributes.Select(x => x.AttributeDefinition.AttributeGroup))
                            .Concat(e.EntitySchema.AttributeDefinitions.Select(x => x.AttributeGroup))
                            .Distinct().Count());
            Debug.WriteLine("actual total entity attribute defs: " + e.Attributes.Select(x => x.AttributeDefinition).Count());
            Debug.WriteLine("actual total schema attribute defs: " + e.EntitySchema.AttributeDefinitions.Count);
            Debug.WriteLine("actual total attribute types: " + e.EntitySchema.AttributeTypes.Count());

            var foundEntities = r.GetAllIdentifiableItems().Distinct().ToArray();

            Debug.WriteLine("found total revision data: " + foundEntities.Count(x => x is RevisionData));
            Debug.WriteLine("found total schemas: " + foundEntities.Count(x => x is EntitySchema));
            Debug.WriteLine("found total typed entities: " + foundEntities.Count(x => x is TypedEntity));
            Debug.WriteLine("found total attributes: " + foundEntities.Count(x => x is TypedAttribute));
            Debug.WriteLine("found total groups: " + foundEntities.Count(x => x is AttributeGroup));
            Debug.WriteLine("found total attribute defs: " + foundEntities.Count(x => x is AttributeDefinition));
            Debug.WriteLine("found total attribute types: " + foundEntities.Count(x => x is AttributeType));

            Assert.AreEqual(actualEntities.Count(), foundEntities.Count());
        }
Пример #2
0
        public void HiveEntityExtensions_GetAllIdentifiableItems_Gets_All_Items()
        {
            var e = HiveModelCreationHelper.MockTypedEntity(false);
            var r = new Revision<TypedEntity>(e);
            
            var actualEntities = e.Attributes.Cast<IReferenceByHiveId>()
                //we need to get ALL unique gruops... this is because the mocked hive model doesn't assign the groups properly.
                .Concat(e.EntitySchema.AttributeGroups
                    .Concat(e.AttributeGroups)
                    .Concat(e.Attributes.Select(x => x.AttributeDefinition.AttributeGroup))
                    .Concat(e.EntitySchema.AttributeDefinitions.Select(x => x.AttributeGroup))
                    .Distinct().Cast<IReferenceByHiveId>())
                .Concat(e.EntitySchema.AttributeDefinitions.Cast<IReferenceByHiveId>())
                .Concat(e.EntitySchema.AttributeTypes.Cast<IReferenceByHiveId>())
                .Concat(new[] { (IReferenceByHiveId)e.EntitySchema, (IReferenceByHiveId)r.Item, (IReferenceByHiveId)r.MetaData })
                .Distinct();

            Debug.WriteLine("actual total attributes: " + e.Attributes.Count);
            Debug.WriteLine("actual total entity groups: " + e.AttributeGroups.Count());
            Debug.WriteLine("actual total schema groups: " + e.EntitySchema.AttributeGroups.Count());
            Debug.WriteLine("actual total unique groups: " + e.EntitySchema.AttributeGroups
                    .Concat(e.AttributeGroups)
                    .Concat(e.Attributes.Select(x => x.AttributeDefinition.AttributeGroup))
                    .Concat(e.EntitySchema.AttributeDefinitions.Select(x => x.AttributeGroup))
                    .Distinct().Count());
            Debug.WriteLine("actual total entity attribute defs: " + e.Attributes.Select(x => x.AttributeDefinition).Count());
            Debug.WriteLine("actual total schema attribute defs: " + e.EntitySchema.AttributeDefinitions.Count);
            Debug.WriteLine("actual total attribute types: " + e.EntitySchema.AttributeTypes.Count());

            var foundEntities = r.GetAllIdentifiableItems().Distinct().ToArray();

            Debug.WriteLine("found total revision data: " + foundEntities.Count(x => x is RevisionData));
            Debug.WriteLine("found total schemas: " + foundEntities.Count(x => x is EntitySchema));
            Debug.WriteLine("found total typed entities: " + foundEntities.Count(x => x is TypedEntity));
            Debug.WriteLine("found total attributes: " + foundEntities.Count(x => x is TypedAttribute));
            Debug.WriteLine("found total groups: " + foundEntities.Count(x => x is AttributeGroup));
            Debug.WriteLine("found total attribute defs: " + foundEntities.Count(x => x is AttributeDefinition));
            Debug.WriteLine("found total attribute types: " + foundEntities.Count(x => x is AttributeType));

            Assert.AreEqual(actualEntities.Count(), foundEntities.Count());
        }