On 11 May 2010 23:39, Stéphane Ducasse <[email protected]> wrote:
>
> On May 11, 2010, at 9:34 PM, Alexandre Bergel wrote:
>
>>> testMetaclassSuperclass
>>>      "self run: #testMetaclassSuperclass"
>>>
>>>      self assert: Dictionary class superclass == Set class.
>>>      self assert: OrderedCollection class superclass == 
>>> SequenceableCollection class.
>>
>> What is the important is the metaclass relationship, and not really the fact 
>> that Dictionary is a subclass of Set.
>> I think this is better:
>>       self assert: Dictionary class superclass == Dictionary superclass 
>> class.
>>       self assert: OrderedCollection class superclass == OrderedCollection 
>> superclass class.
>
> ok
> but do you think that the system would work if such test would not work?
>

I dont quite understand, what this test testing.
Yes, in ST-80, a class inheritance chain and metaclass inheritance
chain must go in parallel.
But there's nothing in VM (to my knowledge), which prevents you from
sidestepping from this convention.
This means, that a system may work even if such test will fail.
I made my own experiments with it , by creating a prototype-based
framework , and along with existing prototypes implementation,
it serves as a proof, that its not critical for a system to organize
your behaviors strictly only in such way(s).


>
>>> I would rewrite the test as:
>>
>> testSuperclass
>>       "self debug: #testSuperclass"
>>
>>       | s b |
>>
>>       s := OrderedCollection new.
>>       b := [:cls | cls ifNotNil: [s add: cls. b value: cls superclass] ].
>>       b value: OrderedCollection.
>>
>>       self assert: OrderedCollection allSuperclasses = s allButFirst.
>>       self assert: OrderedCollection withAllSuperclasses = s.
>>
>> You even test #withAllSuperclasses in that case.
>
> this one is more interesting
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to