use thiserror::Error;
#[derive(Debug, Error)]
pub enum CurrencyConverterError {
#[error("Exchange rate not found for currency: {0}")]
RateNotFound(String),
#[error("Division by zero occurred during conversion.")]
DivisionByZero,
}
#[derive(Debug, Error)]
pub enum PricingError {
#[error("Currency rate calculation failed: {0}")]
RateCalculationFailed(CurrencyConverterError),
#[error("Invalid markup calculation: {0}")]
InvalidMarkupCalculation(String),
#[error("Price adjustment failed: {0}")]
AdjustmentFailed(CurrencyConverterError),
}