On Jun 24, 2009, at 12:52 AM, William Stein wrote: >>>>> >>>>> But, err, guys, are you telling *me* that you want an >>>>> attribute here >>>>> instead of a method? Or should this be:
One new attribute in tab completion is fine. A dozen, not so much. I still like the approach below better though. >>> I am still opposed to adding a non-underscore method to SageObject. >>> >>> I did like Robert Bradshaw's other suggestion to do something >>> like the >>> following. >>> >>> sage: Test(foo).associativity() >>> >>> sage: Test? >>> [[descript testing framework]] >>> >>> I.e., just create a Sage class "Test", which gives access to the >>> test >>> functionality, documents it, can even do something useful on objects >>> foo that aren't necessarily SageObjects at all, etc. >>> >>> Test(obj) returns something that provides all kinds of functionality >>> and methods for testing said object. This can call certain _ >>> methods >>> on obj. >> >> That would be fine for me too. The only thing I really care for is >> for >> the actual test methods (._test...) to be attached to foo, and >> derived >> from its classes. >> >> What syntax would you suggest to run all tests? >> >> One thing I am not very keen on is that to get the list of available >> tests, one need to do: >> >> sage: t = Test(foo) >> sage: t.ass<tab> >> >> But I guess I can live with that (in practice, I myself will be >> using t._test_ass<tab>) That also seems to read a bit funny. Why not a global tester object, so one could do. tester.test_associativity(foo) (OK, the test there is a bit redundant, maybe test.associativity(foo) or tester.is_associative(foo)") - Robert --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---