Derive annual finance timing inputs

This commit is contained in:
Jan Petykiewicz 2026-04-17 21:07:41 -07:00
commit 08f44debc7
6 changed files with 194 additions and 3 deletions

View file

@ -108,6 +108,18 @@ pub struct ExpectedRuntimeSummary {
#[serde(default)]
pub selected_company_stat_band_root_1c47_count: Option<usize>,
#[serde(default)]
pub selected_company_last_dividend_year: Option<u32>,
#[serde(default)]
pub selected_company_years_since_founding: Option<u32>,
#[serde(default)]
pub selected_company_years_since_last_bankruptcy: Option<u32>,
#[serde(default)]
pub selected_company_years_since_last_dividend: Option<u32>,
#[serde(default)]
pub selected_company_chairman_bonus_year: Option<u32>,
#[serde(default)]
pub selected_company_chairman_bonus_amount: Option<i32>,
#[serde(default)]
pub player_count: Option<usize>,
#[serde(default)]
pub chairman_profile_count: Option<usize>,
@ -669,6 +681,54 @@ impl ExpectedRuntimeSummary {
));
}
}
if let Some(value) = self.selected_company_last_dividend_year {
if actual.selected_company_last_dividend_year != Some(value) {
mismatches.push(format!(
"selected_company_last_dividend_year mismatch: expected {value}, got {:?}",
actual.selected_company_last_dividend_year
));
}
}
if let Some(value) = self.selected_company_years_since_founding {
if actual.selected_company_years_since_founding != Some(value) {
mismatches.push(format!(
"selected_company_years_since_founding mismatch: expected {value}, got {:?}",
actual.selected_company_years_since_founding
));
}
}
if let Some(value) = self.selected_company_years_since_last_bankruptcy {
if actual.selected_company_years_since_last_bankruptcy != Some(value) {
mismatches.push(format!(
"selected_company_years_since_last_bankruptcy mismatch: expected {value}, got {:?}",
actual.selected_company_years_since_last_bankruptcy
));
}
}
if let Some(value) = self.selected_company_years_since_last_dividend {
if actual.selected_company_years_since_last_dividend != Some(value) {
mismatches.push(format!(
"selected_company_years_since_last_dividend mismatch: expected {value}, got {:?}",
actual.selected_company_years_since_last_dividend
));
}
}
if let Some(value) = self.selected_company_chairman_bonus_year {
if actual.selected_company_chairman_bonus_year != Some(value) {
mismatches.push(format!(
"selected_company_chairman_bonus_year mismatch: expected {value}, got {:?}",
actual.selected_company_chairman_bonus_year
));
}
}
if let Some(value) = self.selected_company_chairman_bonus_amount {
if actual.selected_company_chairman_bonus_amount != Some(value) {
mismatches.push(format!(
"selected_company_chairman_bonus_amount mismatch: expected {value}, got {:?}",
actual.selected_company_chairman_bonus_amount
));
}
}
if let Some(count) = self.player_count {
if actual.player_count != count {
mismatches.push(format!(