{
  "valid_cases": [
    {
      "name": "canonical_full_year_dilutive",
      "input": {
        "entity_id": "EXAMPLE-PLC",
        "instrument_id": "SERIES-A-CPS",
        "period_start": "2025-01-01",
        "period_end": "2025-12-31",
        "as_of": "2026-02-20T16:30:00Z",
        "accounting_framework": "IFRS",
        "currency": "USD",
        "basic_control_numerator": "90",
        "basic_weighted_average_shares": "30",
        "earnings_scale": "1000000",
        "share_scale": "1000000",
        "preferred_dividend_adjustment_deducted_from_basic": "6",
        "other_pre_tax_income_adjustment_if_converted": "0",
        "income_tax_effect_of_other_adjustment_if_converted": "0",
        "fixed_ordinary_shares_on_conversion": "4",
        "issue_date": "2020-01-01",
        "actual_conversion_date": null,
        "lapse_redemption_or_extinguishment_date": null,
        "numerator_policy": "Add back period-aligned preference dividends deducted in Basic EPS.",
        "tax_effect_policy": "Preference dividend input is already on the Basic EPS basis; no separate tax gross-up. Other income or expense consequences and their tax effect are supplied separately.",
        "denominator_policy": "Assume conversion at the beginning of the period or issue date if later.",
        "framework_policy_source": "IAS 33.33-44 and 49-51.",
        "loss_control_rule": "candidate_comparison",
        "day_count_policy": "ACTUAL_DAYS_IN_PERIOD",
        "basic_components_complete": true,
        "continuing_operations_control_complete": true,
        "basic_preference_adjustment_complete": true,
        "share_basis_restatement_complete": true,
        "dividend_adjustment_complete": true,
        "dividend_period_aligned": true,
        "conversion_terms_are_fixed": true,
        "conversion_scope": "entire_series",
        "holder_advantageous_terms_selected": true,
        "conversion_terms_source": "Series A certificate of designation, section 4.",
        "terms_restatement_complete": true,
        "conversion_is_contingent": false,
        "contingency_assessment_complete": true,
        "contingency_includable_at_period_end": true,
        "contingency_policy": "Not contingent; fixed conversion is exercisable under the resolved terms.",
        "is_participating": false,
        "instrument_is_final": true,
        "is_final": true,
        "eps_decimal_places": 2,
        "share_decimal_places": 0,
        "rounding_mode": "half_even"
      },
      "expected": {
        "time_weight_exact": "1/1",
        "weighted_incremental_shares_exact": "4000000/1",
        "basic_eps_exact": "3/1",
        "incremental_eps_exact": "3/2",
        "candidate_eps_exact": "48/17",
        "candidate_eps": "2.82",
        "classification": "dilutive",
        "include_in_standalone_candidate": true,
        "status": "final"
      }
    },
    {
      "name": "antidilutive_profit",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "preferred_dividend_adjustment_deducted_from_basic": "10",
        "fixed_ordinary_shares_on_conversion": "2"
      },
      "expected": {
        "incremental_eps_exact": "5/1",
        "candidate_eps_exact": "25/8",
        "candidate_eps": "3.12",
        "classification": "antidilutive",
        "include_in_standalone_candidate": false
      }
    },
    {
      "name": "loss_period_antidilutive",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "basic_control_numerator": "-30"
      },
      "expected": {
        "basic_eps_exact": "-1/1",
        "candidate_eps_exact": "-12/17",
        "candidate_eps": "-0.71",
        "classification": "antidilutive",
        "include_in_standalone_candidate": false
      }
    },
    {
      "name": "equality_is_excluded",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "fixed_ordinary_shares_on_conversion": "2"
      },
      "expected": {
        "candidate_eps_exact": "3/1",
        "candidate_eps": "3.00",
        "classification": "antidilutive",
        "include_in_standalone_candidate": false
      }
    },
    {
      "name": "midyear_issue_day_weighting",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "issue_date": "2025-07-01",
        "instrument_is_final": false
      },
      "expected": {
        "exposure_start": "2025-07-01",
        "exposure_end_exclusive": "2026-01-01",
        "exposure_days": 184,
        "period_days": 365,
        "time_weight_exact": "184/365",
        "weighted_incremental_shares_exact": "147200000/73",
        "classification": "dilutive",
        "status": "provisional"
      }
    },
    {
      "name": "actual_conversion_stops_potential_exposure",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "actual_conversion_date": "2025-07-01",
        "preferred_dividend_adjustment_deducted_from_basic": "3"
      },
      "expected": {
        "exposure_start": "2025-01-01",
        "exposure_end_exclusive": "2025-07-01",
        "exposure_days": 181,
        "period_days": 365,
        "time_weight_exact": "181/365",
        "weighted_incremental_shares_exact": "144800000/73",
        "classification": "dilutive"
      }
    },
    {
      "name": "tax_effect_is_explicit_not_inferred",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "other_pre_tax_income_adjustment_if_converted": "4",
        "income_tax_effect_of_other_adjustment_if_converted": "-1"
      },
      "expected": {
        "other_pre_tax_income_adjustment_base": "4000000",
        "income_tax_effect_of_other_adjustment_base": "-1000000",
        "net_numerator_adjustment_base": "9000000",
        "incremental_eps_exact": "9/4",
        "candidate_eps_exact": "99/34",
        "candidate_eps": "2.91",
        "classification": "dilutive"
      }
    },
    {
      "name": "ifrs_loss_uses_signed_candidate_test",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "basic_control_numerator": "-30",
        "other_pre_tax_income_adjustment_if_converted": "-20"
      },
      "expected": {
        "basic_eps_exact": "-1/1",
        "net_numerator_adjustment_base": "-14000000",
        "candidate_eps_exact": "-22/17",
        "classification": "dilutive",
        "include_in_standalone_candidate": true,
        "reason_code": "candidate_below_control"
      }
    },
    {
      "name": "us_gaap_loss_control_excludes_all_potential_shares",
      "input_from": "canonical_full_year_dilutive",
      "patch": {
        "accounting_framework": "US_GAAP",
        "framework_policy_source": "ASC 260-10-45-16 as carried forward from FASB Statement 128 paragraph 16.",
        "loss_control_rule": "exclude_all_when_control_loss",
        "basic_control_numerator": "-30",
        "other_pre_tax_income_adjustment_if_converted": "-20"
      },
      "expected": {
        "basic_eps_exact": "-1/1",
        "candidate_eps_exact": "-22/17",
        "classification": "antidilutive",
        "include_in_standalone_candidate": false,
        "reason_code": "framework_loss_control_exclusion"
      }
    }
  ]
}
