LotSizingDataModel.Instance 2.0.1
Lot-sizing instance representation, descriptors and problem characterization.
Loading...
Searching...
No Matches
ScientificClassificationResult.cs
Go to the documentation of this file.
5
7
8/// <summary>
9/// Consolidated, UI-independent scientific classification result.
10/// </summary>
12{
14 bool isBlocked,
16 UniversalLotSizingNotation? detectedNotation,
17 ScientificNotationComparison notationComparison,
18 IEnumerable<LotSizingProblemClassMatchResult> problemClassMatches,
19 LotSizingProblemClassMatchResult? primaryProblemClass,
20 IEnumerable<HistoricalClassificationCapability>
21 historicalCapabilities,
22 IEnumerable<ScientificClassificationDiagnostic> diagnostics,
23 InstanceModelCheckResult? instanceValidation = null)
24 {
25 IsBlocked = isBlocked;
26 Descriptor = descriptor;
27 DetectedNotation = detectedNotation;
28
30 notationComparison ??
31 throw new ArgumentNullException(
32 nameof(notationComparison));
33
35 (problemClassMatches ??
36 throw new ArgumentNullException(
37 nameof(problemClassMatches)))
38 .ToArray();
39
41 primaryProblemClass;
42
44 (historicalCapabilities ??
45 throw new ArgumentNullException(
46 nameof(historicalCapabilities)))
47 .ToArray();
48
50 (diagnostics ??
51 throw new ArgumentNullException(
52 nameof(diagnostics)))
53 .ToArray();
54
56 instanceValidation;
57
58 Coverage =
60 }
61
62 public bool IsBlocked { get; }
63
65
66 /// <summary>
67 /// Gets notation computed from the actual descriptor and supplied derived
68 /// analyses. It is never copied from DeclaredNotation.
69 /// </summary>
71
72 public string? DetectedNotationText =>
73 DetectedNotation?.Render();
74
76
77 public string DeclaredNotationText =>
78 NotationComparison.DeclaredText;
79
80 public IReadOnlyList<LotSizingProblemClassMatchResult>
82
85
86 public IReadOnlyList<HistoricalClassificationCapability>
88
89 public IReadOnlyList<ScientificClassificationDiagnostic>
90 Diagnostics { get; }
91
93
95
96 public bool HasErrors =>
97 Diagnostics.Any(
98 diagnostic => diagnostic.IsError);
99
101 NotationComparison.Kind ==
103}
Typed structured description of the factual lot-sizing problem characteristics currently represented ...
Typed abstract syntax tree for the versioned alpha | beta | gamma scheme.
UniversalLotSizingNotation? DetectedNotation
Gets notation computed from the actual descriptor and supplied derived analyses. It is never copied f...
ScientificClassificationResult(bool isBlocked, LotSizingProblemDescriptor? descriptor, UniversalLotSizingNotation? detectedNotation, ScientificNotationComparison notationComparison, IEnumerable< LotSizingProblemClassMatchResult > problemClassMatches, LotSizingProblemClassMatchResult? primaryProblemClass, IEnumerable< HistoricalClassificationCapability > historicalCapabilities, IEnumerable< ScientificClassificationDiagnostic > diagnostics, InstanceModelCheckResult? instanceValidation=null)
Keeps declared notation and its comparison with detected notation separate.
Represents the complete result of semantic instance validation.