public static function assertCalls(
      FBMock_Mock $mock,
      $method_name
      /* array $expected_first_call, array $expected_second_call, $msg = ''*/) {

    FBMock_Utils::assertString($method_name);
    $args = func_get_args();
    $msg = '';
    if (is_string(end($args))) {
      $msg = array_pop($args);
    }

    $expected_calls = array_slice($args, 2);
    self::assertNumCalls($mock, $method_name, count($expected_calls), $msg);

    $actual_calls = $mock->mockGetCalls($method_name);
    foreach ($expected_calls as $i => $call) {
      PHPUnit\Framework\TestCase::assertEquals(
        $call,
        $actual_calls[$i],
        $msg ?: "Call $i for method $method_name did not match expected call"
      );
    }
  }