/[ascend]/trunk/models/test/defaultmethods.a4c
ViewVC logotype

Diff of /trunk/models/test/defaultmethods.a4c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1371 by johnpye, Thu Mar 1 06:34:04 2007 UTC revision 1372 by jpye, Fri Mar 30 11:01:20 2007 UTC
# Line 161  END testdefault10; Line 161  END testdefault10;
161  (* test that an override of default_all in a submodel gets found *)  (* test that an override of default_all in a submodel gets found *)
162  MODEL ModelC REFINES ModelA;  MODEL ModelC REFINES ModelA;
163  METHODS  METHODS
164      METHOD default_all;      METHOD default_self;
165          x := 5.0;          x := 5.0;
166          y := 6.0;          y := 6.0;
167      END default_all;      END default_self;
168  END ModelC;  END ModelC;
169    
170  MODEL testdefault11;  MODEL testdefault11;
# Line 336  METHODS Line 336  METHODS
336      END self_test;      END self_test;
337  END testdefault18;  END testdefault18;
338    
339        (* test of double-nested methods: this one fails *)
340    MODEL testdefault19A;
341        v1 IS_A var_default_one;
342        v2 IS_A var_default_two;
343    END testdefault19A;
344    MODEL testdefault19B;
345        v1 IS_A var_default_one;
346        v2 IS_A var_default_two;
347    METHODS
348        METHOD default;
349            v1 := 5;
350        END default;
351    END testdefault19B;
352    MODEL testdefault19C;
353        v1 IS_A var_default_one;
354        v2 IS_A var_default_two;
355    END testdefault19C;
356    
357    (* this one passes *)
358    MODEL testdefault19;
359        A1 IS_A testdefault19A;
360        A2 IS_A testdefault19B;
361        A1.v1, A2.v1 ARE_THE_SAME;
362    METHODS
363        METHOD self_test;
364            ASSERT A1.v1 == 5.0;
365            ASSERT A1.v2 == 2.0;
366            ASSERT A2.v1 == 5.0;
367            ASSERT A2.v2 == 2.0;
368        END self_test;
369    END testdefault19;
370    
371    (* this one FAILS. same at the above but initialisation order has changed *)
372    MODEL testdefault19fail;
373        A1 IS_A testdefault19B;
374        A2 IS_A testdefault19C;
375        A1.v1, A2.v1 ARE_THE_SAME;
376    METHODS
377        METHOD self_test;
378            ASSERT A1.v1 == 5.0;
379            ASSERT A1.v2 == 2.0;
380            ASSERT A2.v1 == 5.0;
381            ASSERT A2.v2 == 2.0;
382        END self_test;
383    END testdefault19fail;
384    
385    (* this one passes *)
386    MODEL testdefault20;
387        A1 IS_A testdefault19A;
388        A2 IS_A testdefault19B;
389        A1.v1, A2.v1 ARE_THE_SAME;
390    METHODS
391        METHOD on_load;
392            RUN default_self;
393            RUN reset; RUN values;
394        END on_load;
395        METHOD self_test;
396            ASSERT A1.v1 == 5.0;
397            ASSERT A1.v2 == 2.0;
398            ASSERT A2.v1 == 5.0;
399            ASSERT A2.v2 == 2.0;
400        END self_test;
401    END testdefault20;
402    
403    
404    (* this one FAILS MYSTERIOUSLY *)
405    MODEL testdefault20fail;
406        A1 IS_A testdefault19A;
407        A2 IS_A testdefault19B;
408        A1.v1, A2.v1 ARE_THE_SAME;
409    METHODS
410        METHOD default_all;
411            RUN default_self;
412        END default_all;
413        METHOD on_load;
414            RUN default_all;
415            RUN reset; RUN values;
416        END on_load;
417        METHOD self_test;
418            ASSERT A1.v1 == 5.0;
419            ASSERT A1.v2 == 2.0;
420            ASSERT A2.v1 == 5.0;
421            ASSERT A2.v2 == 2.0;
422        END self_test;
423    END testdefault20fail;

Legend:
Removed from v.1371  
changed lines
  Added in v.1372

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22