// -*- Java -*-

import packagename.bind.*;
import packagename.var.*;
import junit.framework.*;

ruleset TestRuleset
{
};

// This rules file should have no errors.

rule rule01 {
  when {
    ?a: String();
  } then {
    ?context.out.println("Hop.");
  }
};

function void test_bind(int count)
{
    bind v = count;
    //    ?context.out.println("test_bind v = " + v);
}

rule rule_bind {
  when {
    ?a: a_bind();
  } then {
      bind v = 2;
      test_bind(v);
      //      ?context.out.println("rule_bind v = " + v);
  }
};

function void test_var(int count)
{
    var v = count;
    //    ?context.out.println("test_var v = " + v);
}

rule rule_var {
  when {
    ?a: a_var();
  } then {
      var v = 2;
      test_var(v);
      //      ?context.out.println("rule_var v = " + v);
  }
};

function void ilrmain(Object o)
{
    assert(new a_bind());
    assert(new a_var());
    bind n = fireAllRules();
    Assert.assertEquals("** Error: fired rules ", 2, n);
}
