CONTENTS DELETED
The author has deleted this message.
|
On Mar 31, 2010, at 5:38 PM, Hilaire Fernandes wrote: > I wrote two tests on the ArrayTest collection to test #sorted and #sorted: > #sorted broke, it is easy to fix. > > I guess we need to write these tests for the whole CollectionTest hierarchy. I noted there is a CollectionRootTest using trait, however when looking at the asSortedCollection tests, it is reapeatly written for almost each classes of the hierarchy, and not in the CollectionRootTest using inheritance mechanism. > Any reason for that? Hilaire you should read the paper on traits. Probably sorted does not make sense on all collection so we define a trait and apply it when needed. Traits are simple, just have a look. I did a presentation at esug about them. Stef > > Hilaire > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
CONTENTS DELETED
The author has deleted this message.
|
In reply to this post by Stéphane Ducasse
CONTENTS DELETED
The author has deleted this message.
|
In reply to this post by hilaire
On Apr 1, 2010, at 8:50 AM, Hilaire Fernandes wrote: > Stéphane Ducasse a écrit : >> On Mar 31, 2010, at 5:38 PM, Hilaire Fernandes wrote: >>> I wrote two tests on the ArrayTest collection to test #sorted and #sorted: >>> #sorted broke, it is easy to fix. >>> >>> I guess we need to write these tests for the whole CollectionTest hierarchy. I noted there is a CollectionRootTest using trait, however when looking at the asSortedCollection tests, it is reapeatly written for almost each classes of the hierarchy, and not in the CollectionRootTest using inheritance mechanism. >>> Any reason for that? >> Hilaire you should read the paper on traits. > > pointer on *one* good tutorial? I think I already read something. A small memento on the syntax to define and to use trait will be enough to get started comfortably. If there are such a things I suggest we add it in good place in the pharo web site (along a paper on unit test); these features are essential parts -- features -- of Pharo, so why not emphasis it. this is on my todo for the next book but well other people could help... > Btw, it would be a nice idea to convert an html version of the Pharo by example book, so we can have direct pointer to chapter from the pharo web site. It should be doable with latex2html. In the past I used hyperlatex to produce both nice html and pdf version of DrGeo manual (http://documentation.ofset.org/drgeo/fr/drgenius_51.html) I do not have time for that. > Probably sorted does not make sense on all collection so we define a trait and apply it when needed. > > Yes. What about writing like bellow? Is it acceptable or is it cumbersome? > > > testSorted > self unsortedCollection ifNotNil: [self assert: ....] > > > Matrix>>unosrtedCollection > ^ nil > > Arary>>unosrtedCollection > ^ #(5 9 1 3 2) Yes the idea is that you define a couple of methods in your testTraits testNilSorted testSorted testSortedWithDuplicates testAlreadySorted testSortedCollectionIsANewCollection they will rely on different accessors testNilSorted self assert: self emptyCollection sorted isEmpty ArrayTest uses: TSorted and since emptyCollection is already defined you are done. Now if you have testSorted self assert: self aNonEmptyCollection sorted = self sortedCollection ArrayTest>> aNonEmptyCollection ^ #(3 6 1 20 -3) ArrayTest>> sortedCollection ^ #(-3 1 3 6 20) Stef > > >> Traits are simple, just have a look. I did a presentation at esug about them. > > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
CONTENTS DELETED
The author has deleted this message.
|
Thanks hilaire.
Stef > Stéphane Ducasse a écrit : > >>>> Hilaire you should read the paper on traits. >>> pointer on *one* good tutorial? I think I already read something. A small memento on the syntax to define and to use trait will be enough to get started comfortably. If there are such a things I suggest we add it in good place in the pharo web site (along a paper on unit test); these features are essential parts -- features -- of Pharo, so why not emphasis it. >> this is on my todo for the next book but well other people could help... > > For now, adding two entries on the FAQ with link to reference material > about Trait and Unit Test could help and be helpful. > > >>> Btw, it would be a nice idea to convert an html version of the Pharo by example book, so we can have direct pointer to chapter from the pharo web site. It should be doable with latex2html. In the past I used hyperlatex to produce both nice html and pdf version of DrGeo manual (http://documentation.ofset.org/drgeo/fr/drgenius_51.html) >> I do not have time for that. > > Depending on how is constructed the latex source it could be tedious or not: if command where use to abstract the latex instruction it will be easier. > > I have commited in the Inbox tests and fixed for sorted, sorted: methods. Trait are indeed nicely used in the test classes. > > Hilaire > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |