automapper_validation/generated/fv2610/
partin_conditions_fv2610.rs1#![allow(clippy::style, clippy::complexity)]
9
10#[allow(unused_imports)]
11use crate::eval::format_validators::*;
12use crate::eval::{ConditionEvaluator, ConditionResult, EvaluationContext};
13use crate::generated::fv2604::PartinConditionEvaluatorFV2604;
14
15pub struct PartinConditionEvaluatorFV2610 {
20 fallback: PartinConditionEvaluatorFV2604,
21}
22
23impl Default for PartinConditionEvaluatorFV2610 {
24 fn default() -> Self {
25 Self {
26 fallback: PartinConditionEvaluatorFV2604::default(),
27 }
28 }
29}
30
31const FV2610_OVERRIDES: &[u32] = &[51, 509];
33
34impl ConditionEvaluator for PartinConditionEvaluatorFV2610 {
35 fn message_type(&self) -> &str {
36 "PARTIN"
37 }
38
39 fn format_version(&self) -> &str {
40 "FV2610"
41 }
42
43 fn evaluate(&self, condition: u32, ctx: &EvaluationContext) -> ConditionResult {
44 match condition {
45 51 => self.evaluate_51(ctx),
46 509 => self.evaluate_509(ctx),
47 other => self.fallback.evaluate(other, ctx),
48 }
49 }
50
51 fn is_external(&self, condition: u32) -> bool {
52 self.fallback.is_external(condition)
53 }
54
55 fn is_known(&self, condition: u32) -> bool {
56 FV2610_OVERRIDES.contains(&condition) || self.fallback.is_known(condition)
57 }
58}
59
60impl PartinConditionEvaluatorFV2610 {
61 fn evaluate_51(&self, ctx: &EvaluationContext) -> ConditionResult {
63 ctx.dtm_le("137", "202812312300")
64 }
65
66 fn evaluate_509(&self, _ctx: &EvaluationContext) -> ConditionResult {
68 ConditionResult::True
70 }
71}