Carry annual stock capital service counters
This commit is contained in:
parent
ec359ec2f9
commit
ecfc78f410
7 changed files with 43 additions and 3 deletions
|
|
@ -13995,6 +13995,8 @@ mod tests {
|
|||
annual_dividend_adjustment_commit_count: 0,
|
||||
annual_bond_last_retired_principal_total: 0,
|
||||
annual_bond_last_issued_principal_total: 0,
|
||||
annual_stock_repurchase_last_share_count: 0,
|
||||
annual_stock_issue_last_share_count: 0,
|
||||
chairman_issue_opinion_terms_raw_i32: BTreeMap::new(),
|
||||
chairman_personality_raw_u8: BTreeMap::new(),
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1241,6 +1241,10 @@ pub struct RuntimeServiceState {
|
|||
#[serde(default)]
|
||||
pub annual_bond_last_issued_principal_total: u64,
|
||||
#[serde(default)]
|
||||
pub annual_stock_repurchase_last_share_count: u64,
|
||||
#[serde(default)]
|
||||
pub annual_stock_issue_last_share_count: u64,
|
||||
#[serde(default)]
|
||||
pub chairman_issue_opinion_terms_raw_i32: BTreeMap<u32, Vec<i32>>,
|
||||
#[serde(default)]
|
||||
pub chairman_personality_raw_u8: BTreeMap<u32, u8>,
|
||||
|
|
|
|||
|
|
@ -502,6 +502,8 @@ fn service_company_annual_finance_policy(
|
|||
state.service_state.annual_finance_service_calls += 1;
|
||||
state.service_state.annual_bond_last_retired_principal_total = 0;
|
||||
state.service_state.annual_bond_last_issued_principal_total = 0;
|
||||
state.service_state.annual_stock_repurchase_last_share_count = 0;
|
||||
state.service_state.annual_stock_issue_last_share_count = 0;
|
||||
|
||||
let mut mutated_company_ids = BTreeSet::new();
|
||||
let mut applied_effect_count = 0u32;
|
||||
|
|
@ -605,6 +607,10 @@ fn service_company_annual_finance_policy(
|
|||
proceeds_per_tranche as f64,
|
||||
false,
|
||||
);
|
||||
state.service_state.annual_stock_issue_last_share_count = state
|
||||
.service_state
|
||||
.annual_stock_issue_last_share_count
|
||||
.saturating_add(u64::from(batch_size));
|
||||
}
|
||||
let Some(market_state) = state
|
||||
.service_state
|
||||
|
|
@ -838,6 +844,10 @@ fn service_company_annual_finance_policy(
|
|||
break;
|
||||
};
|
||||
market_state.outstanding_shares = next_outstanding_shares;
|
||||
state.service_state.annual_stock_repurchase_last_share_count = state
|
||||
.service_state
|
||||
.annual_stock_repurchase_last_share_count
|
||||
.saturating_add(u64::from(batch_size));
|
||||
}
|
||||
if mutated {
|
||||
applied_effect_count += 1;
|
||||
|
|
@ -2899,6 +2909,14 @@ mod tests {
|
|||
state.service_state.annual_finance_last_actions.get(&22),
|
||||
Some(&crate::RuntimeCompanyAnnualFinancePolicyAction::StockIssue)
|
||||
);
|
||||
assert_eq!(
|
||||
state.service_state.annual_stock_issue_last_share_count,
|
||||
4_000
|
||||
);
|
||||
assert_eq!(
|
||||
state.service_state.annual_stock_repurchase_last_share_count,
|
||||
0
|
||||
);
|
||||
assert_eq!(state.companies[0].current_cash, 390_000);
|
||||
assert_eq!(
|
||||
state.service_state.company_market_state[&22].outstanding_shares,
|
||||
|
|
@ -3059,6 +3077,11 @@ mod tests {
|
|||
state.service_state.annual_finance_last_actions.get(&23),
|
||||
Some(&crate::RuntimeCompanyAnnualFinancePolicyAction::StockRepurchase)
|
||||
);
|
||||
assert_eq!(state.service_state.annual_stock_issue_last_share_count, 0);
|
||||
assert_eq!(
|
||||
state.service_state.annual_stock_repurchase_last_share_count,
|
||||
1_000
|
||||
);
|
||||
assert_eq!(
|
||||
state.companies[0].current_cash,
|
||||
1_600_000 - expected_repurchase_total
|
||||
|
|
|
|||
|
|
@ -261,6 +261,8 @@ pub struct RuntimeSummary {
|
|||
pub annual_dividend_adjustment_commit_count: u64,
|
||||
pub annual_bond_last_retired_principal_total: u64,
|
||||
pub annual_bond_last_issued_principal_total: u64,
|
||||
pub annual_stock_repurchase_last_share_count: u64,
|
||||
pub annual_stock_issue_last_share_count: u64,
|
||||
pub total_trigger_dispatch_count: u64,
|
||||
pub dirty_rerun_count: u64,
|
||||
pub total_company_cash: i64,
|
||||
|
|
@ -1389,6 +1391,12 @@ impl RuntimeSummary {
|
|||
annual_bond_last_issued_principal_total: state
|
||||
.service_state
|
||||
.annual_bond_last_issued_principal_total,
|
||||
annual_stock_repurchase_last_share_count: state
|
||||
.service_state
|
||||
.annual_stock_repurchase_last_share_count,
|
||||
annual_stock_issue_last_share_count: state
|
||||
.service_state
|
||||
.annual_stock_issue_last_share_count,
|
||||
total_trigger_dispatch_count: state
|
||||
.service_state
|
||||
.trigger_dispatch_counts
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue