Re: Check that all properties match?

"Charlie Poole" <[email protected]> Wed, 27 Aug 2008 15:07:09 -0700
Newsgroups gmane.comp.windows.dotnet.nunit.user
Message-ID <014701c90891$42215290$6401a8c0@ferrari>
Hi Simone,
 
No problem... I just wanted to reinforce the notion that NUnit is very big
on maintaining
compatibility for users. It's already a big step that we are providing some
new features
that only work in .NET 2.0 - and most things will still work even in 1.0.
 
I've enjoyed your suggestions and questions and I hope you'll keep doing it.

 
I'll get back to you offline about the code you sent me.
 
Charlie


  _____  

From: Simone Busoli [mailto:[email protected]] 
Sent: Wednesday, August 27, 2008 2:02 PM
To: Charlie Poole
Cc: [email protected]
Subject: Re: [Nunit-users] Check that all properties match?


Of course Charlie, it wasn't my intention to complain about how NUnit works
right now, absolutely. I agree with your observations about the limited
availability of an API based on extension methods to pre-3.5 users as well
as on the priority of trying to figure out a better object model to reduce
duplication.
I doubt I will be able to discover anything particularly new because of the
little time I can spend on it and mostly due to how little is my experience
compared to yours, but as you see whenever somethings pops into my mind I
propose it on the mailing list. I'll wait for things to settle down a bit
then, since I still can't get where you are going with the constraint model
right now.


On Wed, Aug 27, 2008 at 10:35 PM, Charlie Poole
<[email protected]> wrote:


Hi Simone,
 
There's nothing to prevent integrating new ideas into NUnit via extension
methods, but as a
mainstream approach - i.e. for use in release versions of NUnit - it doesn't
work well since
any new features are unavailable for users of pre-.NET 3.5 versions - which
is probably
the majority of users!  
 

Use of extension methods would make it possible to extend NUnit syntax
without modifying
NUnit, but it would not mitigate the problem of having to make changes in
multiple places.
You would have to supply different extensions for each of the places you now
edit. Of 
course, that would be an improvement, but a more significant improvement
would be to
figure out a better object model that reduces duplication.
 
My hope is that someone like you, working on a new constraint, will see a
way to improve
the internal structure. Of course, you have to grok it first. :-)
 
Another improvement, I must admit, would be for me to document how a new
constraint
gets integrated into NUnit. I plan to do that as soon as things stabilize a
bit.
 
Charlie


  _____  


From: [email protected]
[mailto:[email protected]] On Behalf Of Simone
Busoli

Sent: Wednesday, August 27, 2008 1:00 PM
To: Charlie Poole 

Cc: [email protected]
Subject: Re: [Nunit-users] Check that all properties match?


It should be trivial to write a simple implementation of such a constraint.
What I'm concerned with is the difficulty of integrating it into NUnit. As
with the Ordered and Serializable constraints, the hard work for me has been
to go everywhere the constraint is going to be needed and implement all the
- mostly syntactic - modifications to the code. That's why some time ago I
proposed a different route, hoping that it could lower the barrier to
implement new constraints. I would love to be able to integrate new
constraints into NUnit via extension methods.


On Wed, Aug 27, 2008 at 5:24 PM, Charlie Poole <[email protected]>
wrote:


With the current syntax, you could do this by writing a comparer that used
refection and asserting
    Assert.That(x, Is.EqualTo(dummy).Comparer(mycomparer));
 
But it would make sense to have it be part of NUnit....
    Assert.That(x, Is.EqualTo(dummy).AllProperties);
Or...
    Assert.That(x, Has.AllPropertiesEqualTo(dummy));
 
If you search the feature requests, I think you may find that someone has
asked for this before.
 
Right now, the syntactic infrastructure is undergoing a bit of flux, but we
could add the constraint
easily enough if someone writes it and deal with the parsing aspect later.
 
Charlie


  _____  

From: [email protected]
[mailto:[email protected]] On Behalf Of Simone
Busoli
Sent: Wednesday, August 27, 2008 7:38 AM
To: Laimonas Simutis
Cc: [email protected]
Subject: Re: [Nunit-users] Check that all properties match?


Yes. RhinoMocks has an AllPropertiesMatchContraint class which is used for
the same purpose. Often in tests I need to assert that what I get from a
method call is equal to a dummy object I passed as input, and I don't want
to override the Equals method since I need that only during tests.


On Wed, Aug 27, 2008 at 4:22 PM, Laimonas Simutis <[email protected]> wrote:


Would this be used to compare object equivalency or verifying some
sort of cloning?


On Wed, Aug 27, 2008 at 3:32 AM, Simone Busoli <[email protected]>
wrote:
> Hello, would it be useful to have a way to check that all properties with
> matching names are equal on two objects?
>

> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
world
> http://moblin-contest.org/redirect.php?banner_id=100
<http://moblin-contest.org/redirect.php?banner_id=100&url=/> &url=/
> _______________________________________________
> Nunit-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/nunit-users
>
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100
<http://moblin-contest.org/redirect.php?banner_id=100&url=/> &url=/
_______________________________________________
Nunit-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nunit-users




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100
<http://moblin-contest.org/redirect.php?banner_id=100&url=/> &url=/
_______________________________________________
Nunit-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nunit-users





-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100
<http://moblin-contest.org/redirect.php?banner_id=100&url=/> &url=/
_______________________________________________
Nunit-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nunit-users

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

_______________________________________________
Nunit-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nunit-users