On Dec 23, 2009, at 1:03 18PM, Stéphane Ducasse wrote:
On Dec 23, 2009, at 12:35 PM, Henrik Johansen wrote:
On Dec 23, 2009, at 12:30 51PM, Alexandre Bergel wrote:
Ok but in that case I do not tests the behavior on class But this is an idea (Now I generate all the classes on the fly so I would have to compile all the methods).
In that case, you cannot test your behavior on existing class. Note that you can also in the setUp method recompile ClassDescription>>package and reinstall the original version in tearDown.
Cheers, Alexandre And please remember to use compileSilently: if doing this as part of tests ;)
:) Yes I know this is major speed up.
I was thinking more of the annoyance it poses when recovering lost changes after you've ran tests, but sure, the performance boost is nice to have as well :) Btw, I took a short look at the RPackage code, looked to me like quite a few of the add / addNamed: methods could be rewritten so one uses the other. Eases maintanance if the actual adding is only defined in one place :) Some API inconsistencies I'd like to see fixed: - for adding classes, if you pass in metaclass, it will add the class. - for adding classes by name, if you pass in a metaclass name, it will raise an error. - IIRC, atm it's sort of mix and match of what sort of argument is allowed for the different things you can add by name. - define a consistent expected argument type for the name: methods. Either require them to implement the asSymbol method, or require them to be symbols. One last question - As far as I can see, there's no automatic removal of definitions from other packages if they exist when you add something to a package. Is this supposed to be the resonsibility of the tools using them? Either way, please, please, please, also implement Announcements for the different kind of changes. Cheers, Henry