void makeCalls(Caller myCaller, Base myBase)
  {
    myCaller.set(myBase);

    myCaller.NoParmsMethodCall();
    if (myCaller.BoolMethodCall(true) != true) throw new Exception("failed");
    if (myCaller.BoolMethodCall(false) != false) throw new Exception("failed");
    if (myCaller.IntMethodCall(-123) != -123) throw new Exception("failed");
    if (myCaller.UIntMethodCall(123) != 123) throw new Exception("failed");
    if (myCaller.FloatMethodCall((float)-123.456) != (float)-123.456) throw new Exception("failed");
    if (myCaller.CharPtrMethodCall("test string") != "test string") throw new Exception("failed");
    if (myCaller.ConstCharPtrMethodCall("another string") != "another string") throw new Exception("failed");
    if (myCaller.EnumMethodCall(HShadowMode.HShadowHard) != HShadowMode.HShadowHard) throw new Exception("failed");
    myCaller.ManyParmsMethodCall(true, -123, 123, (float)123.456, "test string", "another string", HShadowMode.HShadowHard);
    myCaller.NotOverriddenMethodCall();

    myCaller.reset();
  }
    void makeCalls(Caller myCaller, Base myBase)
    {
        myCaller.set(myBase);

        myCaller.NoParmsMethodCall();
        if (myCaller.BoolMethodCall(true) != true)
        {
            throw new Exception("failed");
        }
        if (myCaller.BoolMethodCall(false) != false)
        {
            throw new Exception("failed");
        }
        if (myCaller.IntMethodCall(-123) != -123)
        {
            throw new Exception("failed");
        }
        if (myCaller.UIntMethodCall(123) != 123)
        {
            throw new Exception("failed");
        }
        if (myCaller.FloatMethodCall((float)-123.456) != (float)-123.456)
        {
            throw new Exception("failed");
        }
        if (myCaller.CharPtrMethodCall("test string") != "test string")
        {
            throw new Exception("failed");
        }
        if (myCaller.ConstCharPtrMethodCall("another string") != "another string")
        {
            throw new Exception("failed");
        }
        if (myCaller.EnumMethodCall(HShadowMode.HShadowHard) != HShadowMode.HShadowHard)
        {
            throw new Exception("failed");
        }
        myCaller.ManyParmsMethodCall(true, -123, 123, (float)123.456, "test string", "another string", HShadowMode.HShadowHard);
        myCaller.NotOverriddenMethodCall();

        myCaller.reset();
    }