Broaden chairman governance event coverage

This commit is contained in:
Jan Petykiewicz 2026-04-16 16:36:48 -07:00
commit f8350a48c5
18 changed files with 1939 additions and 13 deletions

View file

@ -36,6 +36,9 @@ pub struct RuntimeSummary {
pub chairman_profile_count: usize,
pub active_chairman_profile_count: usize,
pub selected_chairman_profile_id: Option<u32>,
pub linked_chairman_company_count: usize,
pub company_takeover_cooldown_count: usize,
pub company_merger_cooldown_count: usize,
pub train_count: usize,
pub active_train_count: usize,
pub retired_train_count: usize,
@ -181,6 +184,21 @@ impl RuntimeSummary {
.filter(|profile| profile.active)
.count(),
selected_chairman_profile_id: state.selected_chairman_profile_id,
linked_chairman_company_count: state
.companies
.iter()
.filter(|company| company.linked_chairman_profile_id.is_some())
.count(),
company_takeover_cooldown_count: state
.companies
.iter()
.filter(|company| company.takeover_cooldown_year.is_some())
.count(),
company_merger_cooldown_count: state
.companies
.iter()
.filter(|company| company.merger_cooldown_year.is_some())
.count(),
train_count: state.trains.len(),
active_train_count: state.trains.iter().filter(|train| train.active).count(),
retired_train_count: state.trains.iter().filter(|train| train.retired).count(),
@ -934,6 +952,12 @@ mod tests {
track_piece_counts: RuntimeTrackPieceCounts::default(),
active: true,
available_track_laying_capacity: None,
linked_chairman_profile_id: None,
book_value_per_share: 0,
investor_confidence: 0,
management_attitude: 0,
takeover_cooldown_year: None,
merger_cooldown_year: None,
controller_kind: RuntimeCompanyControllerKind::Human,
},
RuntimeCompany {
@ -945,6 +969,12 @@ mod tests {
track_piece_counts: RuntimeTrackPieceCounts::default(),
active: false,
available_track_laying_capacity: Some(7),
linked_chairman_profile_id: None,
book_value_per_share: 0,
investor_confidence: 0,
management_attitude: 0,
takeover_cooldown_year: None,
merger_cooldown_year: None,
controller_kind: RuntimeCompanyControllerKind::Ai,
},
],