anchor.diff:  interface
   
   uses
  +  SysUtils,
     TestFramework,
     Rtti,
     Delphi.Mocks,
     Delphi.Mocks.InterfaceProxy;
   
   type
  +  ETestBehaviourException = class(Exception);
  +
     TTestBehaviors = class(TTestCase)
     private
       FContext : TRttiContext;
     protected
       procedure SetUp; override;
  -
     published
       procedure Test_WillReturnBehavior_Match;
       procedure Test_WillReturnBehavior_NoMatch;
       procedure Test_WillReturnBehavior_Default;
       procedure Test_WillExecute;
  +
  +    // WillRaise-Execute tests
  +    procedure CreateWillRaise_Execute__Raises_Exception_Of_Our_Choice;
  +    procedure CreateWillRaise_Execute__Raises_Exception_Message_Of_Our_Choice;
  +    procedure CreateWillRaise_Execute__Raises_No_Exception_If_Passed_Nil_For_Exception_Class;
  +    procedure CreateWillRaise_Execute__Raises_Exception_Of_Our_Choice_With_Default_Message;
     end;
   
   implementation
   
   uses
  -  SysUtils,
     Delphi.Mocks.Helpers,
     Delphi.Mocks.Interfaces,
     Delphi.Mocks.Behavior,
  
positive.code:   CheckFalse(behavior.Match(args));
  end;
  
  initialization
    TestFramework.RegisterTest(TTestBehaviors.Suite);
  end.
  
negative.code:   SetLength(args,1);
    args[0] := 999;
    rType := FContext.GetType(TypeInfo(string));
  
    behavior := TBehavior.CreateWillExecute(
      function (const args : TArray<TValue>; const returnType : TRttiType) : TValue
      begin
        result := 'hello world';
      end
      );
  
    returnValue := behavior.Execute(args,rType);
  
    CheckTrue(SameText(returnValue.AsString,'hello world'));
  end;
  
  procedure TTestBehaviors.Test_WillReturnBehavior_Default;
  