package financial // TransportCostCalculatorImpl implements TransportCostCalculator interface type TransportCostCalculatorImpl struct { config *Config } // NewTransportCostCalculator creates a new transport cost calculator func NewTransportCostCalculator(config *Config) TransportCostCalculator { return &TransportCostCalculatorImpl{config: config} } // CalculateTransportCost calculates transport cost per unit based on distance and resource type func (tc *TransportCostCalculatorImpl) CalculateTransportCost(resourceType string, distanceKm float64) float64 { // Get transport rate from config rate, exists := tc.config.TransportRates[resourceType] if !exists { rate = 0.001 // Default } return distanceKm * rate }