Hacker News new | ask | show | jobs
by moomoo3000 1116 days ago
It removed the print and returns a list instead.
1 comments

Which is useless because _it has changed the semantics of the function_
It was a bad function
And yet I was able to make it unit testable without changing it's semantics.
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.

Let me tell you your mind is going to be blown once you learn about Monads.

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.