help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-Smalltalk] Message>>#= and DirectedMessage>>#=


From: Gwenaël Casaccio
Subject: [Help-Smalltalk] Message>>#= and DirectedMessage>>#=
Date: Tue, 12 Oct 2010 11:02:05 +0200

Message extend [
    = anObject [
        <category: 'testing'>

        ^ self class == anObject class and: [ self selector = anObject
selector and: [ self arguments = anObject arguments ] ]
    ]
]

DirectedMessage extend [
    = anObject [
        <category: 'testing'>

        ^ super = anObject and: [ self receiver = anObject receiver ]
    ]
]

Eval [

    | o1 m1 m2 |
    m1 := Message selector: #'a:b:c:' argument: #(1 2 3).
    m2 := Message selector: #'a:b:c:' argument: #(1 2 3).

    m1 = m2 ifFalse: [ self error: 'm1 should be equal to m2' ].

    m2 := Message selector: #'a:b:c:' argument: #(2 3 4).
    m1 = m2 ifTrue: [ self error: 'm1 should be different of m2' ].

    o1 := Object new.

    m1 := DirectedMessage receiver: 01 selector: #'a:b:c:' argument: #(1 2 3).
    m2 := DirectedMessage receiver: 01 selector: #'a:b:c:' argument: #(1 2 3).

    m1 = m2 ifFalse: [ self error: 'm1 should be equal to m2' ].

    m2 := DirectedMessage receiver: Object new selector: #'a:b:c:'
argument: #(1 2 3).
    m1 = m2 ifTrue: [ self error: 'm1 should be different of m2' ].
]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]