/**
   * Test method for {@link BasicMongoClientMetrics#receive(String, long, Message, Reply, long)} .
   */
  @Test
  public void testReceive() {
    final Message mockSentMessage = createMock(Message.class);
    final Reply mockReply = createMock(Reply.class);

    final BasicMongoClientMetrics metrics = new BasicMongoClientMetrics();

    // One for the DB and one for the collection.
    expect(mockReply.size()).andReturn(202).times(5);
    expect(mockSentMessage.getOperationName()).andReturn("operation");
    expect(mockSentMessage.getDatabaseName()).andReturn("db");
    expect(mockSentMessage.getCollectionName()).andReturn("collection");
    expectLastCall();

    replay(mockSentMessage, mockReply);

    metrics.receive("server1", 0L, mockSentMessage, mockReply, TimeUnit.MILLISECONDS.toNanos(1));

    metrics.close();

    verify(mockSentMessage, mockReply);
  }