You have to change the semantics of the function to make it unit testable. Literally tell me how else can you test that function with a unit test?
By definition a unit test can only test functions that return data. So there's no other option here.
By definition a unit test can only test functions that return data. So there's no other option here.
A mutable object is functionally identical to a return value if you control the initial state and lifetime of the object. Like you can do in a unit test.
And as I demonstrated in my other comment I 100% retained the semantic structure of the function whilst making it 100% unit testable.