Hi,
I found "testNilWhenErrorInLookup" indeed, sorry for that.
"testRaisesErrorSendWhenErrorInLookup" is still missing though. Maybe the name
has changed to this one:
testMethodNotFoundRaiseError "(self run: #testMethodNotFoundRaiseError)" self
should: [aPoint unarySend: #zork] raise: Error.
About the lookup method, I should not use "lookup: selector from: anObjObject"
at all right?
- Edouard
On Thursday, November 19, 2015 8:24 PM, stepharo <[email protected]> wrote:
I checked
testNilWhenErrorInLookup
"(self selector: #testNilWhenErrorInLookup) run"
self assert: (pointClass lookup: #zork) isNil.
"The method zork is NOT implement on pointClass"
testRaisesErrorSendWhenErrorInLookup
"(self selector: #testRaisesErrorSendWhenErrorInLookup) run"
self should: [ pointClass send: #zork withArguments: { aPoint } ] raise:
Error.
"Open a Transcript to see the message trace"
Le 19/11/15 13:50, Edouard Delbar a écrit :
Hello everyone,
I'm new on this mailing list, this is my first mail :-)
I'm a student from University of Lille (France). I'm studying this tutorial
(I'm using Pharo 4 but it seems not to be a problem):
http://sdmeta.gforge.inria.fr/Teaching/ObjVLisp/ObjV.pillar.pdf. I'm working
with the "ObjVLispSkeleton-StephaneDucasse.1" image loaded from this
repository:
MCSmalltalkhubRepository owner: 'StephaneDucasse' project:
'ObjVLispSkeleton' user: '' password: ''
I'm stuck at "Method Lookup" p11. First, it seems that unit tests
"testNilWhenErrorInLookup" and "testRaisesErrorSendWhenErrorInLookup" are not
provided, thus I'm not sure that I'm working with the right image (everything
was fine until p11 though). Then, the "lookup: selector" is not provided
neither. While there is another method named "lookup: selector from:
anObjObject", I can't figure out what I'm supposed to do with the second
parameter.
Ok I checked in the other method is old
the new one should be
lookup: selector
"look for the method named <selector> starting in the receiver.
The lookup is done for a message sent to <anObjObject>. self is an
objClass"
Here is what I would do:
lookup: selector "look for the method named <selector> starting in the
receiver. The lookup is done for a message sent to <anObjObject>. self is an
objClass" ^ self objMethodDict at: selector ifAbsent: [ self objSuperclassId
ifNotNil: [ self objSuperclass lookup: selector ] ]
Could someone tell me if this implementation is correct? If it's correct,
what do you think the second parameter is for?
Moreover, do you think I'm working with the right image?
Thanks.
- Edouard