ActionGroupRandomized.m
上传用户:shenzhenrh
上传日期:2013-05-12
资源大小:2904k
文件大小:2k
源码类别:

信息检索与抽取

开发平台:

Unix_Linux

  1. /*
  2. Name:         ActionGroupRandomized.m
  3. Description:  ActionGroup with Randomized order of execution.
  4. Test suite:   activity
  5. */ 
  6. #import <simtools.h>
  7. #import <tactivity.h>
  8. #import "Responder.h"
  9. int 
  10. main (int argc, const char ** argv)
  11. {
  12.   id actionGroupTest;
  13.   id obj;
  14.   int i, ok;
  15.   initSwarmBatch (argc, argv);
  16.   initModule (tactivity);
  17.   init_tables ();
  18.   actionGroupTest = [ActionGroup_test createBegin: globalZone 
  19.       numberOfObjects: 5];
  20.   for (i = 0; i < 5; i++)
  21.     {
  22.       obj = [Responder create:globalZone];
  23.       [actionGroupTest addObject: obj];
  24.     }
  25.   [actionGroupTest setDefaultOrder: Randomized];
  26.   actionGroupTest = [actionGroupTest createEnd];
  27.   [actionGroupTest createActionTo: [actionGroupTest getObjectAt: 0]
  28.    message: M(m1)];
  29.   [actionGroupTest createActionTo: [actionGroupTest getObjectAt: 1]
  30.    message: M(m2)];
  31.   [actionGroupTest createActionTo: [actionGroupTest getObjectAt: 2]
  32.    message: M(m3)];
  33.   [actionGroupTest createActionTo: [actionGroupTest getObjectAt: 3]
  34.    message: M(m4)]; 
  35.   [actionGroupTest createActionTo: [actionGroupTest getObjectAt: 4]
  36.    message: M(m5)]; 
  37.   
  38.   [[actionGroupTest activateIn: nil] run];
  39.   
  40.   ok = 0;
  41.   for (i = 0; i < 5; i++) 
  42.     {
  43.       if (!messages[i]) 
  44. {
  45.   fprintf (stderr,"Error in ActionGroupRandomized  method m%d not called !n", i + 1);
  46.   return 1;
  47. }
  48.       if (messages[i] != i + 1) 
  49. ok = 1;
  50.     }
  51.   
  52.   if (ok)
  53.     return 0;
  54.   else 
  55.     {
  56.       fprintf (stderr, "Error ActionGroupRandomized should be randomized!n");
  57.       return 1;
  58.     }
  59. }