|
I'd go for first as well, coz it's more straightforward. Less mental operations = better readability. Unless you're writing negative tests of course 😆
Edit :- okay, you're saying the same thing. So I agree.
|
|
|
|
|
I always have a tendency to put positives first, eg.
if (thing == true)
{
}
else
{
}
...so, obviously, I would go for "Assert.isTrue".
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
In most cases I put the conditions which prevent code execution (like error cases) first and the condition in which the code must execute comes last.
|
|
|
|
|
I do the same - if only because the "failure case code" is generally shorter:
MessageBox.Show("...", "...");
return; And it's more obvious what is going on that way. Plus ... it's a layer less indentation:
if (goodThing)
{
...
}
else
{
MessageBox.Show("...", "...");
return;
} Vs:
if (!goodThing)
{
MessageBox.Show("...", "...");
return;
}
... And it groups validations at the top of methods, leaving the "good code" alone at the end:
if (!goodThing)
{
MessageBox.Show("...", "...");
return;
}
if (!otherThingIWantToSee)
{
MessageBox.Show("...", "...");
return;
}
...
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I once had to adhere to a rather arcane coding standard that required only one return statement per function. It made for some very deep indentation so I resorted to using many more very small functions. It's a bit less of an issue now with very high resolution monitors but back then it was very annoying.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
An adamant refusal to use GOTO
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Using goto was forbidden. It was in C++ so that had something to do with it.
The irony of it was they had this arcane and tedious coding standard and used a library they wrote themselves that was utterly atrocious. It is easily the worst library I have ever had to deal with. Here's one little tidbit : the whole thing was built around a state machine that changed states by throwing an exception.
I would have to work really hard to come up with a design worse than that.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
Seen it; rewrote it. In (pre-Visual) BASIC code (ON ERROR GOTOs that would branch to different line labels depending on the ERRNO thrown) for nuclear weapons effects. Guess it's fitting, in retrospect, that "bomb code" worked by "blowing up"
|
|
|
|
|
That's an interesting coincidence. At the same job where I used that horrendous library the company built robots. They used Microsoft's BASIC as the embedded language and it had that ON ERROR stuff in it. It could get very tricky and downright dangerous when an emergency stop was activated because there was no telling where the robot would go next when the stop was cleared.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
Mycroft Holmes wrote: use GOTO Burn the heretic!
Software Zen: delete this;
|
|
|
|
|
<snicker> I have not used a goto in over 20 years and that was in VB, just poking the anthill
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Now that you wrote it, I see why it is obvious. I didn't think about it that much when I posted. To me it just made better sense when coding probably because of the lesser/better indentation.
Also it really pays off when the code is called recursively.
|
|
|
|
|
Always Option 1. Thislike I can focus on "!=" or "==" for the complete information.
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
I also prefer #1. But shouldn't it be "Token received" if token isn't Guid.Empty ?
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: But shouldn't it be "Token received" if token isn't Guid.Empty ?
A perfect illustration of the mental gymnastics involved here.
Assert.IsTrue displays the message if the assumption isn't met.
Assert.IsTrue(token != Guid.Empty, ... displays the message if token == Guid.Empty , meaning that "token not received" is the correct message.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Gaaah!
I'm going to blame it on lack of caffeine, even though the real reason is sheer stupidity.
/ravi
|
|
|
|
|
Richard Deeming wrote: perfect illustration of the mental gymnastic Or, perfect illustration of the twisted minds that defined 'Assert semantics
«Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?» T. S. Elliot
|
|
|
|
|
I understand Option 1 easier and faster Thats my style
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
One
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Always go for what is, not what is not, if possible.
Less mental boggling, that way.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
I always prefer a positive comparison rather than negative so I prefer the first. Except the "IsFalse" kinda does my head in.
How about
Assert.IsNotTrue(token == Guid.Empty, "Token not received.");
*head explodes*
cheers
Chris Maunder
|
|
|
|
|
Just thinking outside of the box here...
Assert.NotEqual(token, Guid.Empty, "Token not received");
|
|
|
|
|
I prefer the second... I often find myself doing (in C++ unit tests)
ASSERT(!some_condition);
or
ASSERT(some_condition == false);
rather than
ASSERT_FALSE(some_condition);
Same thing, really, but as you say, there's an unconscious desire to be positive, I guess.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
If you prefer to compare a logical expression to a logical constant (true, false), then I beg to disagree!
Do you ask someone: Is it true that you want a cup of coffee? Or do you ask: Do you want a cup of coffee?
You reserve the "Is is true that" form to very special cases, like: Is is true that you love me?
So "== true" or "== false" is completely banned from any code that I handle!
|
|
|
|
|
I always chose "!=" over "==", as an habit of the embedded world where == is forbidden by implicit rules due to the possible mistake with =.
|
|
|
|