text: describe("toHaveBeenCalled", function() {
    it("passes when the actual was called, with a custom .not fail message", function() {
      var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
        calledSpy = jasmineUnderTest.createSpy('called-spy'),
        result;
  
      calledSpy();
  
      result = matcher.compare(calledSpy);
      expect(result.pass).toBe(true);
      expect(result.message).toEqual("Expected spy called-spy not to have been called.");
    });
  
    it("fails when the actual was not called", function() {
      var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
        uncalledSpy = jasmineUnderTest.createSpy('uncalled spy'),
        result;
  
      result = matcher.compare(uncalledSpy);
      expect(result.pass).toBe(false);
    });
  
    it("throws an exception when the actual is not a spy", function() {
      var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
        fn = function() {};
  
      expect(function() { matcher.compare(fn) }).toThrow(new Error("Expected a spy, but got Function."));
    });
  
    it("throws an exception when invoked with any arguments", function() {
      var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
        spy = jasmineUnderTest.createSpy('sample spy');
  
      expect(function() { matcher.compare(spy, 'foo') }).toThrow(new Error("toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith"));
    });
  
    it("has a custom message on failure", function() {
      var matcher = jasmineUnderTest.matchers.toHaveBeenCalled(),
        spy = jasmineUnderTest.createSpy('sample-spy'),
        result;
  
      result = matcher.compare(spy);
  
      expect(result.message).toEqual("Expected spy sample-spy to have been called.");
    });
  });
  
  