Political leaders don't often get the chance for a practice run of election campaigns.
But the Eden-Monaro by-election has handed Scott Morrison and Anthony Albanese exactly that opportunity.
While Albanese is an old hand at campaigning, having been in parliament well over two decades, this is his first run as Labor leader.
He's taken a strong personal role in the race, from hand-picking Kristy McBain as the candidate to doing a driving tour across the vast electorate in the final days before the poll.
He views every campaign as a test-run for the next one.
"I love campaigning," the notorious Tory-fighter told AAP.
"With COVID-19 as well, it's difficult to get out in the community and engage - but a by-election has meant that that's possible, to listen to what's happening."
Labor has picked a few broad messages and stuck with them, telling voters floored by drought, bushfires and the coronavirus recession it hears them when they say they feel left behind, and that the government is all slogan and no delivery.
The message discipline contrasts with the criticism of Bill Shorten's national campaign at the 2019 poll, when Labor had a cluttered agenda with 250 costed policies.
When the party's campaign review was released last November, MPs talked of barely being able to get their heads around the local implications of one policy before having to try and sell the next one.
Not so for McBain.
Albanese's timetable for policy development has been stretched by the stack of crises 2020 has delivered.
But he's still hopeful Labor can hold its national conference in December as planned to give it a more concrete direction for the run to the next election, due by September 2022.
Morrison is also an old hand at campaigning, having been the NSW Liberals' director in between stints at tourism agencies.
But this by-election, he has at times appeared torn between needing to be the national statesman steering Australia through the coronavirus health and economic crises, and the hi-vis vested campaigner.
On Tuesday, flanked by candidate Fiona Kotvojs at the Snowy 2.0 workers camp, Morrison gave the impression the by-election was something of an inconvenience
"We didn't cause the by-election," he told reporters.
"The by-election has been caused by the retirement of the former member, Labor member, for health reasons and he's gone on to other employment now."
A week earlier he snapped at a reporter asking why an $86 million grants program to help orchardists, wineries and timber mills affected by bushfires - many of them in Eden-Monaro - wasn't pork barrelling.
But he was back in campaigning form on Thursday, inspecting defence equipment with Kotvojs in a Canberra factory.
(The national capital is an island within Eden-Monaro but is also home to the workplaces for many of its voters.)
A vote for Labor would be a vote for chaos, Morrison said, whereas a vote for the Liberals would be one that rewarded stability.
He's clearly hoping voters will remember the uncovering of branch-stacking in Victoria and fall of state government ministers a month ago - but the matter has more likely been superseded in people's minds by the worrying resurgence of coronavirus in Melbourne's suburbs.
Never mind that the major source of chaos and instability in Eden-Monaro in recent months has been the Nationals and Liberals.
The coalition parties started the race with an unedifying spat between two state ministers who managed to knock each other out of contention for preselection.
One of those involved, deputy premier John Barilaro, has wrapped up the campaign by questioning Morrison's truthfulness in saying the ABC hasn't faced cuts - a key campaign point of Labor's - and answering accusations about undermining the Liberal campaign with an eye to making his own tilt at the seat next time.
The reality is, unless there is an extremely disciplined preference flow from Nationals voters to Kotvojs and everything else falls into place, Labor will likely hold the seat.
That would give McBain, like her leader, a great test run for 2022.