juan_gandhi: (Default)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2020-08-23 09:18 pm

TWIMC: tests using random and current time

 So, if you think you call a function in your code, and this function returns current time, or a random number... IT'S NOT A FUNCTION. Your code is function of "random number", or "time".

So, if your code is written as something that retrieves this kind of data, to test your code, you should provide that data. Not just today, but try the time, like 10 years from now. As to "random", You provide the randomness. If your code cannot be fixed to behave as a function of those inputs, make your "random stream" or "time stream" not hard-coded, but substitutable. Mockable. And mock it in your tests. MAKE SURE that you don't provide just happy-path data. Provide anything. A sequence of 100 numbers 4 for random. Time that is 10 years from now. Or even 30 yeas from now.

Make sure that your tests don't depend on anything. Because test Must Be Reproducible.

All these things, I know, are obvious to some, and not obvious to others.

If you still have questions, ask. But don't argue. Because what I say is math. Unless you have another math (some people do), or another logic (there's plenty of them), please don't argue.

I'd be glad to see how all this changes if logic is e.g. linear. 

 

dennisgorelik: 2020-06-13 in my home office (Default)

Misunderstanding question

[personal profile] dennisgorelik 2020-08-26 02:48 pm (UTC)(link)
>> Are you implying that you did not write "No one outside SQL community uses that term."?

> I am not implying, I am plain telling you that you haven't even read what you've found

You did not really answer my question here.
I asked you about "No one outside SQL community uses that term" statement, not about me reading or finding something.

Did you misunderstand my question or did you pretend to misunderstand it?

> Diversion is so much easier to play.

Is that what you are doing? Diversion?

Re: "то есть" trick

[personal profile] sassa_nf 2020-08-26 03:45 pm (UTC)(link)
> Did you ... or did you ...?

I am not inclined to answer your questions because you are not inclined to answer mine. Although by saying this I've just answered one of yours.

> Is that what you are doing?

This is a "то есть" trick of yours, so the best I can do is ignore.
dennisgorelik: 2020-06-13 in my home office (Default)

Expecting answers to unasked questions

[personal profile] dennisgorelik 2020-08-26 06:09 pm (UTC)(link)
> I am not inclined to answer your questions

Yes.
That suggests that you are avoiding reaching clarity in our communication.

> because

That causality claim is wrong.

> you are not inclined to answer mine

This your hypothesis is wrong.
I am, actually, inclined to answer your questions, but you did not ask any questions [at least in the last 8 your replies to me].

Re: Expecting answers to unasked questions

[personal profile] sassa_nf 2020-08-27 06:10 am (UTC)(link)
> I would rather you answered whether you understood the substance of the post.
dennisgorelik: 2020-06-13 in my home office (Default)

Re: Expecting answers to unasked questions

[personal profile] dennisgorelik 2020-08-27 04:59 pm (UTC)(link)
Are you implying that it was your way of asking a question?
dennisgorelik: 2020-06-13 in my home office (Default)

Re: "то есть" trick

[personal profile] dennisgorelik 2020-08-26 06:16 pm (UTC)(link)
>> Is that what you are doing?

> This is a "то есть" trick of yours

What is "то есть" trick?
How is that trick relevant to my question?

> the best I can do is ignore

Nope.
Not entering discussion in the first place -- is a much better for saving time.
Answering the question is the best for reaching clarity.
Entering discussion and then not answer clarifying questions that pop up in that discussion -- is, usually, a bad choice. I disrespect such behavior.
Edited 2020-08-26 18:18 (UTC)