diff --git a/ids-lib/IdsSchema/IdsNodes/IdsSpecification.cs b/ids-lib/IdsSchema/IdsNodes/IdsSpecification.cs index 3de35e6..3e19eb3 100644 --- a/ids-lib/IdsSchema/IdsNodes/IdsSpecification.cs +++ b/ids-lib/IdsSchema/IdsNodes/IdsSpecification.cs @@ -72,7 +72,15 @@ internal protected override Audit.Status PerformAudit(AuditStateInformation stat { var totalFilters = IfcTypeConstraint.Intersect(aF, rF); if (IfcTypeConstraint.IsNotNullAndEmpty(totalFilters)) - ret |= IdsErrorMessages.Report201IncompatibleClauses(logger, this, schemaInfo, "impossible match of types between applicability and requirements"); + { + var appDesc = aF.ConcreteTypes.Count() > 5 + ? $"{aF.ConcreteTypes.Count()} types" + : $"{string.Join(", ", aF.ConcreteTypes)}"; + var reqDesc = rF.ConcreteTypes.Count() > 5 + ? $"{rF.ConcreteTypes.Count()} types" + : $"{string.Join(", ", rF.ConcreteTypes)}"; + ret |= IdsErrorMessages.Report201IncompatibleClauses(logger, this, schemaInfo, $"impossible match of types between applicability ({appDesc}) and requirements ({reqDesc})"); + } } } } diff --git a/ids-tool.tests/IfcPredefinedPropertiesTests.cs b/ids-tool.tests/IfcPredefinedPropertiesTests.cs index cc69e4e..d13c8d3 100644 --- a/ids-tool.tests/IfcPredefinedPropertiesTests.cs +++ b/ids-tool.tests/IfcPredefinedPropertiesTests.cs @@ -94,7 +94,7 @@ public void IfcPropertyNameCoherenceAcrossSchemas() unexpectedMeasureTypes++; } } - var expectedCount = 526; + var expectedCount = 587; unexpectedMeasureTypes.Should().Be(expectedCount, $"{expectedCount} is the count of acknowledged variations"); } }