Calculator unit tests
Every worked example on this site is a small client-side
calculator. This page lists what each one is checked against and how it did on
the last run — 2026-09-07. The runner is
tools/autopublish/calc_tests.mjs; it loads each page, executes that
page's own component in a sandbox, and asserts the properties below.
What is asserted, and why these and not an expected number:
- Component runs — the calculator's code parses and instantiates.
- §6.4 static values match computed — every figure printed into the served HTML is what the component computes from its own defaults. This is the one that catches drift: §6.4 requires the default state to be in the HTML so a reader without JavaScript, and any crawler, sees the numbers.
- Deterministic — two fresh instances agree, so no calculator depends on the clock or on randomness.
- Finite across an input sweep — each numeric input is set to zero, to one, and to half, double and ten times its default, and no output becomes NaN or Infinity. This is what finds a divide-by-zero at a value a reader can actually type.
There is deliberately no assertion of the form “this
calculator returns $X”. The calculator is the only statement of its own
arithmetic; writing an expected number beside it would restate the code rather
than test it. Accuracy against the law is a separate control — the
@engine_parity and @sources metadata in §6.8, and the
annual review pass.
AU — 37 executable, 0 static
| Post | Assertion | Result | Detail |
|---|---|---|---|
| age-pension-means-testing | component runs | pass | agePension() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| aged-care-costs | component runs | pass | agedCare() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| australian-inflation | component runs | pass | inflation() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| career-change-super | component runs | pass | careerGap() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| catch-up-contributions | component runs | pass | catchUp() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| childcare-ccs | component runs | pass | ccs() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| disability-dsp | component runs | pass | dsp() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| division-293 | component runs | pass | div293() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| downsizer-contributions | component runs | pass | downsizer() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| first-home-super-saver | component runs | pass | fhss() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| franking-credits | component runs | pass | franking() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| home-deposit-vs-super | component runs | pass | depositVsSuper() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| insurance-in-super | component runs | pass | insDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| longevity-risk | component runs | pass | longevity() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| market-downturn-retirement | component runs | pass | downturn() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| medicare-levy | component runs | pass | medicare() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| minimum-drawdowns | component runs | pass | minDraw() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| mortgage-vs-super | component runs | pass | mortgageVsSuper() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 7 input(s) x 5 value(s), 35 run(s) | |
| negative-gearing-super | component runs | pass | negGear() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| non-concessional | component runs | pass | ncCap() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| parental-leave-super | component runs | pass | parental() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| property-vs-super | component runs | pass | propVsSuper() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| recontribution-strategy | component runs | pass | recontrib() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| salary-sacrifice | component runs | pass | salSac() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| smsf-basics | component runs | pass | smsf() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| super-co-contribution | component runs | pass | coContrib() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| super-contribution-caps | component runs | pass | capRoom() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| super-death-benefits | component runs | pass | deathBenefit() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| super-fees-impact | component runs | pass | feesImpact() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 8 input(s) x 5 value(s), 40 run(s) | |
| super-preservation-age | component runs | pass | preservation() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| super-self-employed | component runs | pass | selfEmp() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| super-splitting | component runs | pass | split() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| super-vs-taxable | component runs | pass | superVsTaxable() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| transfer-balance-cap | component runs | pass | tbc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| ttr-pension-strategies | component runs | pass | ttr() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| unpaid-super-guarantee | component runs | pass | unpaidSg() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| when-can-i-retire | component runs | pass | whenRetire() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) |
CA — 60 executable, 0 static
| Post | Assertion | Result | Detail |
|---|---|---|---|
| capital-gains-inclusion-fr | component runs | pass | cgInclusion() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| capital-gains-inclusion | component runs | pass | cgInclusion() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| career-change-impact-fr | component runs | pass | gapCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| career-change-impact | component runs | pass | gapCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| cpp-claiming-age-fr | component runs | pass | cppBreakEven() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| cpp-claiming-age | component runs | pass | cppBreakEven() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| cpp-dropout-provisions-fr | component runs | pass | cppDropout() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| cpp-dropout-provisions | component runs | pass | cppDropout() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| cpp2-enhancement-fr | component runs | pass | cpp2Calc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| cpp2-enhancement | component runs | pass | cpp2Calc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| dividend-tax-credit-fr | component runs | pass | divCredit() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 1 input(s) x 5 value(s), 5 run(s) | |
| dividend-tax-credit | component runs | pass | divCredit() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 1 input(s) x 5 value(s), 5 run(s) | |
| divorce-rrsp-splitting-fr | component runs | pass | equalizeExample() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| divorce-rrsp-splitting | component runs | pass | equalizeExample() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| employer-rrsp-match-fr | component runs | pass | missedMatch() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| employer-rrsp-match | component runs | pass | missedMatch() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| estate-planning-canada-fr | component runs | pass | estateTax() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| estate-planning-canada | component runs | pass | estateTax() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| foreign-withholding-tax-fr | component runs | pass | fwtCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| foreign-withholding-tax | component runs | pass | fwtCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| gic-laddering-fr | component runs | pass | gicLadder() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 7 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| gic-laddering | component runs | pass | gicLadder() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 7 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| gis-supplement-fr | component runs | pass | gisEstimator() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 1 input(s) x 5 value(s), 5 run(s) | |
| gis-supplement | component runs | pass | gisEstimator() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 1 input(s) x 5 value(s), 5 run(s) | |
| home-buyers-plan-fr | component runs | pass | hbpModel() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| home-buyers-plan | component runs | pass | hbpModel() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| impact-of-fees-fr | component runs | pass | feeDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| impact-of-fees | component runs | pass | feeDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| lifelong-learning-plan-fr | component runs | pass | llpCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| lifelong-learning-plan | component runs | pass | llpCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| lira-lif-conversion-fr | component runs | pass | lifBand() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| lira-lif-conversion | component runs | pass | lifBand() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| mortgage-vs-invest-fr | component runs | pass | prepayVsInvest() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| mortgage-vs-invest | component runs | pass | prepayVsInvest() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| oas-clawback-fr | component runs | pass | oasClawback() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| oas-clawback | component runs | pass | oasClawback() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| pension-adjustment-fr | component runs | pass | paCalc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| pension-adjustment | component runs | pass | paCalc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| pension-income-splitting-fr | component runs | pass | splitExample() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| pension-income-splitting | component runs | pass | splitExample() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| provincial-tax-retirement-fr | component runs | pass | provTax() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 1 input(s) x 5 value(s), 5 run(s) | |
| provincial-tax-retirement | component runs | pass | provTax() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 1 input(s) x 5 value(s), 5 run(s) | |
| resp-education-savings-fr | component runs | pass | cesgCompare() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| resp-education-savings | component runs | pass | cesgCompare() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| rrsp-meltdown-fr | component runs | pass | meltdown() |
| §6.4 static values match computed | pass | 6 value(s) agree | |
| deterministic | pass | 6 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| rrsp-meltdown | component runs | pass | meltdown() |
| §6.4 static values match computed | pass | 6 value(s) agree | |
| deterministic | pass | 6 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| rrsp-rrif-conversion-fr | component runs | pass | rrifMinimum() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| rrsp-rrif-conversion | component runs | pass | rrifMinimum() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| rrsp-vs-tfsa-fr | component runs | pass | rrspVsTfsa() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| rrsp-vs-tfsa | component runs | pass | rrspVsTfsa() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| spousal-rrsp-fr | component runs | pass | splitSaver() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| spousal-rrsp | component runs | pass | splitSaver() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| tax-loss-harvesting-fr | component runs | pass | lossHarvest() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 4 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| tax-loss-harvesting | component runs | pass | lossHarvest() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 4 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| tax-optimization-fr | component runs | pass | pensionSplit() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| tax-optimization | component runs | pass | pensionSplit() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| tfsa-strategies-fr | component runs | pass | tfsaDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| tfsa-strategies | component runs | pass | tfsaDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| when-can-i-retire-fr | component runs | pass | cppBreakEven() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| when-can-i-retire | component runs | pass | cppBreakEven() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) |
DE — 0 executable, 52 static
| Post | Assertion | Result | Detail |
|---|---|---|---|
| aktien-vs-etf-vs-fonds-de | worked example is a static table — no component to test | ||
| aktien-vs-etf-vs-fonds | worked example is a static table — no component to test | ||
| altersteilzeit-phased-retirement-de | worked example is a static table — no component to test | ||
| altersteilzeit-phased-retirement | worked example is a static table — no component to test | ||
| bausparvertrag-vs-direct-investment-de | worked example is a static table — no component to test | ||
| bausparvertrag-vs-direct-investment | worked example is a static table — no component to test | ||
| bav-vs-private-pension-de | worked example is a static table — no component to test | ||
| bav-vs-private-pension | worked example is a static table — no component to test | ||
| career-change-pension-impact-de | worked example is a static table — no component to test | ||
| career-change-pension-impact | worked example is a static table — no component to test | ||
| cost-of-missing-riester-subsidies-de | worked example is a static table — no component to test | ||
| cost-of-missing-riester-subsidies | worked example is a static table — no component to test | ||
| disability-erwerbsminderungsrente-de | worked example is a static table — no component to test | ||
| disability-erwerbsminderungsrente | worked example is a static table — no component to test | ||
| einkommensteuer-pension-planning-de | worked example is a static table — no component to test | ||
| einkommensteuer-pension-planning | worked example is a static table — no component to test | ||
| fund-fees-impact-de | worked example is a static table — no component to test | ||
| fund-fees-impact | worked example is a static table — no component to test | ||
| immobilien-vs-renting-de | worked example is a static table — no component to test | ||
| immobilien-vs-renting | worked example is a static table — no component to test | ||
| inflation-and-retirement-de | worked example is a static table — no component to test | ||
| inflation-and-retirement | worked example is a static table — no component to test | ||
| kapitalertragsteuer-investment-strategy-de | worked example is a static table — no component to test | ||
| kapitalertragsteuer-investment-strategy | worked example is a static table — no component to test | ||
| kindergeld-family-benefits-de | worked example is a static table — no component to test | ||
| kindergeld-family-benefits | worked example is a static table — no component to test | ||
| longevity-risk-de | worked example is a static table — no component to test | ||
| longevity-risk | worked example is a static table — no component to test | ||
| market-downturn-before-retirement-de | worked example is a static table — no component to test | ||
| market-downturn-before-retirement | worked example is a static table — no component to test | ||
| parental-leave-pension-points-de | worked example is a static table — no component to test | ||
| parental-leave-pension-points | worked example is a static table — no component to test | ||
| pay-down-baudarlehen-vs-invest-de | worked example is a static table — no component to test | ||
| pay-down-baudarlehen-vs-invest | worked example is a static table — no component to test | ||
| rente-mit-63-vs-normal-de | worked example is a static table — no component to test | ||
| rente-mit-63-vs-normal | worked example is a static table — no component to test | ||
| riester-subsidies-maximizing-de | worked example is a static table — no component to test | ||
| riester-subsidies-maximizing | worked example is a static table — no component to test | ||
| riester-vs-rurup-vs-statutory-de | worked example is a static table — no component to test | ||
| riester-vs-rurup-vs-statutory | worked example is a static table — no component to test | ||
| rurup-tax-benefits-de | worked example is a static table — no component to test | ||
| rurup-tax-benefits | worked example is a static table — no component to test | ||
| statutory-pension-optimization-de | worked example is a static table — no component to test | ||
| statutory-pension-optimization | worked example is a static table — no component to test | ||
| steuerfreies-existenzminimum-de | worked example is a static table — no component to test | ||
| steuerfreies-existenzminimum | worked example is a static table — no component to test | ||
| when-can-i-retire-germany-de | worked example is a static table — no component to test | ||
| when-can-i-retire-germany | worked example is a static table — no component to test | ||
| wohn-riester-home-ownership-de | worked example is a static table — no component to test | ||
| wohn-riester-home-ownership | worked example is a static table — no component to test | ||
| zusatzliche-altersvorsorge-de | worked example is a static table — no component to test | ||
| zusatzliche-altersvorsorge | worked example is a static table — no component to test | ||
FR — 27 executable, 0 static
| Post | Assertion | Result | Detail |
|---|---|---|---|
| agirc-arrco-missing-contributions | component runs | pass | agircGap() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 9 input(s) x 5 value(s), 45 run(s) | |
| assurance-vie-inheritance | component runs | pass | avDeathBenefit() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| career-change-pension-impact | component runs | pass | samBestYears() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 7 input(s) x 5 value(s), 35 run(s) | |
| carriere-longue | component runs | pass | carriereLongue() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| conge-parental-pension | component runs | pass | mdaCredit() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| cumul-emploi-retraite | component runs | pass | cumulCap() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| fund-fees-impact | component runs | pass | feeDrag() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 8 input(s) x 5 value(s), 40 run(s) | |
| inflation-and-retirement | component runs | pass | inflationErosion() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| invalidite-disability-finances | component runs | pass | invaliditePension() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| investissement-locatif | component runs | pass | locatifYield() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| isf-vs-ifi-wealth-tax | component runs | pass | ifiDue() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| longevity-risk | component runs | pass | depletion() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| market-downturn-before-retirement | component runs | pass | sequenceRisk() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 7 input(s) x 5 value(s), 35 run(s) | |
| pay-down-mortgage-vs-invest | component runs | pass | prepayVsInvest() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| pea-vs-compte-titres | component runs | pass | peaVsCto() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| pea-vs-other-investments | component runs | pass | peaExit() |
| §6.4 static values match computed | pass | 4 value(s) agree | |
| deterministic | pass | 4 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| pension-reform-2024 | component runs | pass | pensionReform() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| per-tax-deduction-strategy | component runs | pass | perDeduction() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| per-vs-assurance-vie-pea | component runs | pass | perDeduction() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| pfu-vs-bareme | component runs | pass | pfuBareme() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| pinel-vs-other-property | component runs | pass | propertyStrategy() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| prelevement-forfaitaire-unique | component runs | pass | pfuLevy() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| prime-activite-family-benefits | component runs | pass | quotientFamilial() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| ptz-vs-classic-mortgage | component runs | pass | ptzSaving() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| retraite-progressive | component runs | pass | retraiteProgressive() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| understanding-trimestres-quotas | component runs | pass | trimesterValidator() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| when-can-i-retire-france | component runs | pass | retireTiming() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 7 input(s) x 5 value(s), 35 run(s) |
NL — 0 executable, 52 static
| Post | Assertion | Result | Detail |
|---|---|---|---|
| aow-private-coordination-nl | worked example is a static table — no component to test | ||
| aow-private-coordination | worked example is a static table — no component to test | ||
| box-system-taxation-nl | worked example is a static table — no component to test | ||
| box-system-taxation | worked example is a static table — no component to test | ||
| box3-savings-tax-nl | worked example is a static table — no component to test | ||
| box3-savings-tax | worked example is a static table — no component to test | ||
| buy-vs-rent-nl | worked example is a static table — no component to test | ||
| buy-vs-rent | worked example is a static table — no component to test | ||
| career-change-impact-nl | worked example is a static table — no component to test | ||
| career-change-impact | worked example is a static table — no component to test | ||
| cost-of-missing-pension-contributions-nl | worked example is a static table — no component to test | ||
| cost-of-missing-pension-contributions | worked example is a static table — no component to test | ||
| disability-wia-impact-nl | worked example is a static table — no component to test | ||
| disability-wia-impact | worked example is a static table — no component to test | ||
| dutch-pension-three-pillars-nl | worked example is a static table — no component to test | ||
| dutch-pension-three-pillars | worked example is a static table — no component to test | ||
| early-career-pension-decisions-nl | worked example is a static table — no component to test | ||
| early-career-pension-decisions | worked example is a static table — no component to test | ||
| family-benefits-planning-nl | worked example is a static table — no component to test | ||
| family-benefits-planning | worked example is a static table — no component to test | ||
| fund-fees-impact-nl | worked example is a static table — no component to test | ||
| fund-fees-impact | worked example is a static table — no component to test | ||
| future-pensions-act-impact-nl | worked example is a static table — no component to test | ||
| future-pensions-act-impact | worked example is a static table — no component to test | ||
| inflation-and-retirement-nl | worked example is a static table — no component to test | ||
| inflation-and-retirement | worked example is a static table — no component to test | ||
| investing-across-boxes-nl | worked example is a static table — no component to test | ||
| investing-across-boxes | worked example is a static table — no component to test | ||
| lijfrente-tax-benefits-nl | worked example is a static table — no component to test | ||
| lijfrente-tax-benefits | worked example is a static table — no component to test | ||
| longevity-risk-nl | worked example is a static table — no component to test | ||
| longevity-risk | worked example is a static table — no component to test | ||
| market-downturn-before-retirement-nl | worked example is a static table — no component to test | ||
| market-downturn-before-retirement | worked example is a static table — no component to test | ||
| mortgage-interest-deduction-nl | worked example is a static table — no component to test | ||
| mortgage-interest-deduction | worked example is a static table — no component to test | ||
| occupational-vs-private-savings-nl | worked example is a static table — no component to test | ||
| occupational-vs-private-savings | worked example is a static table — no component to test | ||
| partnerpensioen-spousal-benefits-nl | worked example is a static table — no component to test | ||
| partnerpensioen-spousal-benefits | worked example is a static table — no component to test | ||
| pay-down-mortgage-vs-pension-nl | worked example is a static table — no component to test | ||
| pay-down-mortgage-vs-pension | worked example is a static table — no component to test | ||
| pension-divorce-splitting-nl | worked example is a static table — no component to test | ||
| pension-divorce-splitting | worked example is a static table — no component to test | ||
| principal-residence-tax-nl | worked example is a static table — no component to test | ||
| principal-residence-tax | worked example is a static table — no component to test | ||
| vut-early-retirement-nl | worked example is a static table — no component to test | ||
| vut-early-retirement | worked example is a static table — no component to test | ||
| werknemers-pensioen-explained-nl | worked example is a static table — no component to test | ||
| werknemers-pensioen-explained | worked example is a static table — no component to test | ||
| when-can-i-retire-netherlands-nl | worked example is a static table — no component to test | ||
| when-can-i-retire-netherlands | worked example is a static table — no component to test | ||
UK — 0 executable, 37 static
| Post | Assertion | Result | Detail |
|---|---|---|---|
| annuity-vs-drawdown | worked example is a static table — no component to test | ||
| auto-enrolment | worked example is a static table — no component to test | ||
| bed-and-isa | worked example is a static table — no component to test | ||
| buy-to-let | worked example is a static table — no component to test | ||
| capital-gains-tax | worked example is a static table — no component to test | ||
| career-change | worked example is a static table — no component to test | ||
| db-pension-transfers | worked example is a static table — no component to test | ||
| disability-benefits | worked example is a static table — no component to test | ||
| dividend-tax | worked example is a static table — no component to test | ||
| equity-release | worked example is a static table — no component to test | ||
| help-to-buy | worked example is a static table — no component to test | ||
| impact-of-fees | worked example is a static table — no component to test | ||
| inflation-retirement | worked example is a static table — no component to test | ||
| inheritance-tax | worked example is a static table — no component to test | ||
| isa-allowance | worked example is a static table — no component to test | ||
| lifetime-isa | worked example is a static table — no component to test | ||
| longevity-risk | worked example is a static table — no component to test | ||
| marriage-allowance | worked example is a static table — no component to test | ||
| maternity-paternity-leave | worked example is a static table — no component to test | ||
| mortgage-vs-invest | worked example is a static table — no component to test | ||
| ni-voluntary | worked example is a static table — no component to test | ||
| pension-access-55 | worked example is a static table — no component to test | ||
| pension-annual-allowance | worked example is a static table — no component to test | ||
| pension-carry-forward | worked example is a static table — no component to test | ||
| pension-drawdown | worked example is a static table — no component to test | ||
| pension-tax-relief | worked example is a static table — no component to test | ||
| pension-vs-mortgage | worked example is a static table — no component to test | ||
| salary-sacrifice | worked example is a static table — no component to test | ||
| scottish-tax-rates | worked example is a static table — no component to test | ||
| sequence-of-returns | worked example is a static table — no component to test | ||
| sipp-vs-isa | worked example is a static table — no component to test | ||
| state-pension-timing | worked example is a static table — no component to test | ||
| student-loans-retirement | worked example is a static table — no component to test | ||
| tax-free-childcare | worked example is a static table — no component to test | ||
| triple-lock | worked example is a static table — no component to test | ||
| true-cost-missing-contributions | worked example is a static table — no component to test | ||
| when-can-i-retire | worked example is a static table — no component to test | ||
US — 70 executable, 0 static
| Post | Assertion | Result | Detail |
|---|---|---|---|
| 401k-employer-match-es | component runs | pass | matchCalc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| 401k-employer-match | component runs | pass | matchCalc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| 401k-ira-rollover-es | component runs | pass | rolloverCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| 401k-ira-rollover | component runs | pass | rolloverCost() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| 529-roth-conversion-es | component runs | pass | rolloverYears() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| 529-roth-conversion | component runs | pass | rolloverYears() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| 72t-early-withdrawal-es | component runs | pass | seppCalc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| 72t-early-withdrawal | component runs | pass | seppCalc() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| asset-location-strategy-es | component runs | pass | locationDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| asset-location-strategy | component runs | pass | locationDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| backdoor-roth-es | component runs | pass | proRata() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| backdoor-roth | component runs | pass | proRata() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| career-change-impact-es | component runs | pass | careerGap() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 8 input(s) x 5 value(s), 40 run(s) | |
| career-change-impact | component runs | pass | careerGap() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 8 input(s) x 5 value(s), 40 run(s) | |
| catch-up-contributions-es | component runs | pass | catchUp() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| catch-up-contributions | component runs | pass | catchUp() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| disability-before-retirement-es | component runs | pass | incomeGap() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| disability-before-retirement | component runs | pass | incomeGap() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| divorce-and-finances-es | component runs | pass | divorceSplit() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| divorce-and-finances | component runs | pass | divorceSplit() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| dollar-cost-averaging-vs-lump-sum-es | component runs | pass | dcaCompare() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| dollar-cost-averaging-vs-lump-sum | component runs | pass | dcaCompare() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| earnings-test-es | component runs | pass | earningsTest() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| earnings-test | component runs | pass | earningsTest() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| financial-cost-of-children-es | component runs | pass | childCost() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| financial-cost-of-children | component runs | pass | childCost() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| four-percent-rule-es | component runs | pass | fourPct() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| four-percent-rule | component runs | pass | fourPct() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| hsa-retirement-es | component runs | pass | hsaGrowth() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| hsa-retirement | component runs | pass | hsaGrowth() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| inflation-and-retirement-es | component runs | pass | inflationErosion() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| inflation-and-retirement | component runs | pass | inflationErosion() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| investment-fees-impact-es | component runs | pass | feeDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| investment-fees-impact | component runs | pass | feeDrag() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| irmaa-surcharges-es | component runs | pass | irmaaTier() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| irmaa-surcharges | component runs | pass | irmaaTier() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 2 input(s) x 5 value(s), 10 run(s) | |
| longevity-risk-es | component runs | pass | planAge() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| longevity-risk | component runs | pass | planAge() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| medicare-planning-es | component runs | pass | partB() |
| §6.4 static values match computed | pass | 4 value(s) agree | |
| deterministic | pass | 4 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| medicare-planning | component runs | pass | partB() |
| §6.4 static values match computed | pass | 4 value(s) agree | |
| deterministic | pass | 4 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| mega-backdoor-roth-es | component runs | pass | megaRoom() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| mega-backdoor-roth | component runs | pass | megaRoom() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| mortgage-vs-invest-es | component runs | pass | mortgageVsInvest() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| mortgage-vs-invest | component runs | pass | mortgageVsInvest() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| qcd-strategy-es | component runs | pass | qcdSave() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| qcd-strategy | component runs | pass | qcdSave() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| rent-vs-buy-es | component runs | pass | rentVsBuy() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| rent-vs-buy | component runs | pass | rentVsBuy() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| rmd-strategies-es | component runs | pass | rmdEstimate() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| rmd-strategies | component runs | pass | rmdEstimate() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| roth-conversion-es | component runs | pass | rothHeadroom() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| roth-conversion | component runs | pass | rothHeadroom() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| roth-vs-traditional-401k-es | component runs | pass | rothVsPretax() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 8 input(s) x 5 value(s), 40 run(s) | |
| roth-vs-traditional-401k | component runs | pass | rothVsPretax() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 8 input(s) x 5 value(s), 40 run(s) | |
| sep-vs-solo-401k-es | component runs | pass | sepVsSolo() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| sep-vs-solo-401k | component runs | pass | sepVsSolo() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| sequence-of-returns-es | component runs | pass | seqRisk() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| sequence-of-returns | component runs | pass | seqRisk() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| social-security-timing-es | component runs | pass | ssTiming() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| social-security-timing | component runs | pass | ssTiming() |
| §6.4 static values match computed | pass | 5 value(s) agree | |
| deterministic | pass | 5 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| spousal-social-security-es | component runs | pass | spousal() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| spousal-social-security | component runs | pass | spousal() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| state-tax-retirement-es | component runs | pass | stateTax() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| state-tax-retirement | component runs | pass | stateTax() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 5 input(s) x 5 value(s), 25 run(s) | |
| tax-loss-harvesting-es | component runs | pass | harvestSaving() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| tax-loss-harvesting | component runs | pass | harvestSaving() |
| §6.4 static values match computed | pass | 2 value(s) agree | |
| deterministic | pass | 2 expression(s) stable | |
| finite across input sweep | pass | 3 input(s) x 5 value(s), 15 run(s) | |
| when-can-i-retire-es | component runs | pass | retireTarget() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| when-can-i-retire | component runs | pass | retireTarget() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 4 input(s) x 5 value(s), 20 run(s) | |
| withdrawal-sequencing-es | component runs | pass | pullOrder() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) | |
| withdrawal-sequencing | component runs | pass | pullOrder() |
| §6.4 static values match computed | pass | 3 value(s) agree | |
| deterministic | pass | 3 expression(s) stable | |
| finite across input sweep | pass | 6 input(s) x 5 value(s), 30 run(s) |