title: EXPECT_CALL not able to track the calls for methods called from the method under test
body: <p>First of all, I'm new to Google test, so please forgive my ignorance, if any.
  I'm writing unit tests using google test framework for the below class..</p>
  <pre class="lang-c++ prettyprint-override"><code>class MsgHandler
  {
      public:
          MsgHandler(){}
          ~MsgHandler(){}
          bool decode_data(unsigned char*, unsigned int,char *);
          bool handle_req_state_data(char *, char *);
  };
  
  bool MsgHandler::handle_req_state_data(char *a, char *b)
  {
      printf(&quot;handle_req_state_data called\n&quot;);
      return true;
  }
  
  bool MsgHandler::decode_data(unsigned char *a, unsigned int b,char *c)
  {
      printf(&quot;decode_data called\n&quot;);
      handle_req_state_data(c, c);
      return true;
  }
  </code></pre>
  <p>As a first step, I have created the mock class as below</p>
  <pre class="lang-c++ prettyprint-override"><code>class MsgHandlerMock : public MsgHandler
  {
      public:
          MsgHandlerMock()
          {
          }
  
          virtual ~MsgHandlerMock() {}
  
          MOCK_METHOD(bool, handle_req_state_data, (char *, char *), (const));
          //MOCK_METHOD(int, decode_data, (unsigned char*, unsigned int ,char* ));
      private:
  };
  </code></pre>
  <p>Below is the test function</p>
  <pre class="lang-c++ prettyprint-override"><code>TEST_F(TestClass, test01)
  {
      MsgHandlerMock mockObj;
  
      //EXPECT_CALL(mockObj, decode_data(::testing::_,::testing::_,::testing::_)).Times(1);
      EXPECT_CALL(mockObj, handle_req_state_data(::testing::_,::testing::_)).Times(1);
  
      mockObj.decode_data(0,0,0);
  }
  </code></pre>
  <p>My intention of this test is to make sure 'handle_req_state_data' is called when I call 'decode_data' with a certain message. But my test fails with below error</p>
  <pre><code>decode_data called
  handle_req_state_data called
  ...
  Actual function call count doesn't match EXPECT_CALL(mockObj, handle_req_state_data(::testing::_,::testing::_))...
           Expected: to be called once
             Actual: never called - unsatisfied and active
  [  FAILED  ] TestClass.test01 (1 ms)
  [----------] 1 test from TestClass (1 ms total)
  </code></pre>
  <p>Can someone help me on how to validate the inner method calls with EXPECT_CALL validators?</p>