use crate::{
quotes::quote::{CalibrationInstrumentType, Level, Quote},
time::date::Date,
};
#[derive(Clone)]
pub struct CalibrationInstrument {
quote: Quote,
level: Level,
built: CalibrationInstrumentType,
quote_value: f64,
pillar_date: Date,
}
impl CalibrationInstrument {
#[must_use]
pub const fn new(
quote: Quote,
level: Level,
built: CalibrationInstrumentType,
quote_value: f64,
pillar_date: Date,
) -> Self {
Self {
quote,
level,
built,
quote_value,
pillar_date,
}
}
#[must_use]
pub const fn quote(&self) -> &Quote {
&self.quote
}
#[must_use]
pub const fn level(&self) -> Level {
self.level
}
#[must_use]
pub const fn built(&self) -> &CalibrationInstrumentType {
&self.built
}
#[must_use]
pub const fn quote_value(&self) -> f64 {
self.quote_value
}
pub const fn set_quote_value(&mut self, value: f64) {
self.quote_value = value;
}
#[must_use]
pub const fn pillar_date(&self) -> Date {
self.pillar_date
}
#[must_use]
pub fn pillar_label(&self) -> String {
self.quote.details().identifier()
}
}