示例#1
0
        public void SchemaConstraintTest()
        {
            IfcStore.ModelProviderFactory.UseMemoryModelProvider();
            using (var source = IfcStore.Open(@"Resources\Ifc2x3-Slab-BooleanResult.ifc"))
            {
                var validationStamp = SchemaValidator.OfModel(source,
                                                              Xbim.Common.Enumerations.ValidationFlags.TypeWhereClauses | Xbim.Common.Enumerations.ValidationFlags.EntityWhereClauses);

                var lookUp = validationStamp.InstanceResults;

                Assert.AreEqual(1, lookUp.Count);

                Assert.IsFalse(validationStamp.IsConstraintToSchema);
                Assert.IsTrue(validationStamp.IsCompliantToSchema);

                var results = lookUp[new Xbim.Common.XbimInstanceHandle(source.Model.Instances[25])];
                Assert.AreEqual(1, results.Count());

                Assert.IsFalse(SchemaValidator.Diff(validationStamp.Results, validationStamp.Results).Any());
                Assert.IsTrue(validationStamp.Equals(validationStamp));
            }
        }