-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathxbimEndToEnd.cs
76 lines (57 loc) · 3.12 KB
/
xbimEndToEnd.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using FluentAssertions;
using Xbim.Common.Step21;
using Xunit.Abstractions;
namespace Xbim.IDS.Validator.Core.Tests.TestCases
{
public class XbimEndToEnd : StandardTestCaseRunner
{
public XbimEndToEnd(ITestOutputHelper output) : base(output)
{
}
[InlineData(@"TestCases/xbim/pass-ifc2x3-unit_conversions_shall_take_place_to_ids_nominated_standard_units_2_2.ids")]
[Theory]
public async Task IFC2x3_Supported(string idsFile)
{
var outcome = await VerifyIdsFile(idsFile);
outcome.Status.Should().Be(ValidationStatus.Pass);
}
#if XbimV6
[InlineData(@"TestCases/xbim/pass-ifc4x3_models_work.ids")]
[InlineData(@"TestCases/xbim/pass-ifc4x3_new_attributes_available.ids")]
[Theory]
public async Task IFC4x3_Supported(string idsFile)
{
var outcome = await VerifyIdsFile(idsFile, false, XbimSchemaVersion.Ifc4x3);
outcome.Status.Should().Be(ValidationStatus.Pass);
}
#endif
[InlineData(@"TestCases/xbim/pass-subclass_type_may_be_identified_with_subtype_extension_1_2.ids")]
[InlineData(@"TestCases/xbim/pass-subclass_type_may_be_identified_with_subtype_extension_2_2.ids")]
[Theory]
public async Task Xbim_Proprietary_Extensions(string idsFile)
{
var outcome = await VerifyIdsFile(idsFile, false, XbimSchemaVersion.Ifc4, new VerificationOptions { IncludeSubtypes = true, PermittedIdsAuditStatuses = VerificationOptions.AnyState });
outcome.Status.Should().Be(ValidationStatus.Pass);
}
[InlineData(@"TestCases/xbim/pass-ifc2x3_using_ifc4_entity.ids", ValidationStatus.Pass)]
[InlineData(@"TestCases/xbim/pass-ifc2x3-air_terminal_edge_case.ids", ValidationStatus.Pass)]
[InlineData(@"TestCases/xbim/pass-ifc2x3-air_terminal_edge_case_with_predefined.ids", ValidationStatus.Pass)]
[InlineData(@"TestCases/xbim/fail-ifc2x3-air_terminal_edge_case_with_predefined.ids", ValidationStatus.Fail)]
[InlineData(@"TestCases/xbim/pass-ifc2x3-type-substitution-complex_1_3.ids", ValidationStatus.Pass)]
[InlineData(@"TestCases/xbim/pass-ifc2x3-type-substitution-complex_2_3.ids", ValidationStatus.Pass)]
[InlineData(@"TestCases/xbim/fail-ifc2x3-type-substitution-complex_3_3.ids", ValidationStatus.Fail)]
[Theory]
public async Task CrossSchemaHandlingSupported(string idsFile, ValidationStatus expected)
{
var outcome = await VerifyIdsFile(idsFile, options: new VerificationOptions { PermittedIdsAuditStatuses = VerificationOptions.Relaxed });
outcome.Status.Should().Be(expected);
}
[InlineData(@"TestCases/xbim/pass-ifc4-measures-supported.ids")]
[Theory]
public async Task Xbim_Ifc4_Measures_supported(string idsFile)
{
var outcome = await VerifyIdsFile(idsFile, false, XbimSchemaVersion.Ifc4, new VerificationOptions { IncludeSubtypes = true, PermittedIdsAuditStatuses = VerificationOptions.AnyState });
outcome.Status.Should().Be(ValidationStatus.Pass);
}
}
}