"from http://www.webcom.com/haahr/dylan/linearization-oopsla96.html"
| root boat dayBoat wheelBoat engineLess pedalWheelBoat smallMultihull smallCatamaran pedalo |
root _ WAUserConfiguration new.
boat _ WAUserConfiguration new addAncestor: root.
dayBoat _ WAUserConfiguration new addAncestor: boat.
wheelBoat _ WAUserConfiguration new addAncestor: boat.
engineLess _ WAUserConfiguration new addAncestor: dayBoat.
pedalWheelBoat _ WAUserConfiguration new addAncestor: engineLess; addAncestor: wheelBoat.
smallMultihull _ WAUserConfiguration new addAncestor: dayBoat.
smallCatamaran _ WAUserConfiguration new addAncestor: smallMultihull.
pedalo _ WAUserConfiguration new addAncestor: pedalWheelBoat; addAncestor: smallCatamaran.
self assert: pedalWheelBoat allAncestors = (Array with: engineLess with: dayBoat with: wheelBoat with: boat with: root).
self assert: smallCatamaran allAncestors = (Array with: smallMultihull with: dayBoat with: boat with: root).
self assert: pedalo allAncestors = ((Array with: pedalWheelBoat with: engineLess with: smallCatamaran with: smallMultihull), (Array with: dayBoat with: wheelBoat with: boat with: root)).
|