dpp_calc/repairability/thresholds/
washing_machine.rs1use super::{
8 DEFAULT_REPAIRABILITY_THRESHOLDS, RepairabilityRuleset, RepairabilityThresholds,
9 RepairabilityWeights,
10};
11use crate::ruleset::{Effectivity, RegulatoryBasis, Ruleset, RulesetId, RulesetVersion};
12
13pub struct WashingMachineRuleset;
14
15static WASHING_WEIGHTS: RepairabilityWeights = RepairabilityWeights {
16 disassembly: 0.25,
17 spare_parts: 0.20,
18 repair_info: 0.20,
19 diagnostic_tools: 0.15,
20 software_updatability: 0.10,
21 customer_support: 0.10,
22};
23
24static WASHING_BASIS: RegulatoryBasis = RegulatoryBasis {
25 regulation: "pending — ESPR washing machine repairability delegated act (expected ~2026)",
26 article: "TBD",
27 standard: Some("EN 45554:2021"),
28 technical_study: None,
29 source_url: None,
30 superseded_by: None,
31};
32
33static WASHING_RULESET_ID: RulesetId = RulesetId("washing-machine-repairability");
34static WASHING_RULESET_VERSION: RulesetVersion = RulesetVersion("0.0.0-stub");
35static WASHING_EFFECTIVITY: Effectivity = Effectivity::pending(
36 "ESPR (EU) 2024/1781 — washing machine repairability delegated act, not yet adopted",
37 None,
38);
39
40impl Ruleset for WashingMachineRuleset {
41 fn id(&self) -> &RulesetId {
42 &WASHING_RULESET_ID
43 }
44
45 fn version(&self) -> &RulesetVersion {
46 &WASHING_RULESET_VERSION
47 }
48
49 fn effectivity(&self) -> &Effectivity {
50 &WASHING_EFFECTIVITY
51 }
52
53 fn regulatory_basis(&self) -> &RegulatoryBasis {
54 &WASHING_BASIS
55 }
56}
57
58impl RepairabilityRuleset for WashingMachineRuleset {
59 fn weights(&self) -> &RepairabilityWeights {
60 &WASHING_WEIGHTS
61 }
62
63 fn thresholds(&self) -> &RepairabilityThresholds {
64 &DEFAULT_REPAIRABILITY_THRESHOLDS
65 }
66}