Re: Check that all properties match?
"Charlie Poole" <[email protected]> Wed, 27 Aug 2008 13:35:48 -0700
| Newsgroups | gmane.comp.windows.dotnet.nunit.user |
|---|---|
| Message-ID | <010d01c90884$7f010b90$6401a8c0@ferrari> |
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&url=/ _______________________________________________ Nunit-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nunit-users