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' ].
]
_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk