### Question:
ThriftDcBalancer implements Balancer<NodeStatus<I, C>>, Closeable { public void doHealthCheck() { for (NodeStatus<I, C> status : allDcNodes) { status.doHealthCheck(); } } protected  ThriftDcBalancer(String serviceName, String dcName, ThriftBalancerConfig config); void setDcNodes(List<NodeStatus<I, C>> ring, int totalNodeCount); void doHealthCheck(); @Override void reBalance(); boolean isWorking(); boolean canProcessRequests(); @Override Optional<NodeStatus<I, C>> get(); Optional<NodeStatus<I, C>> getRecover(); @Override Stream<NodeStatus<I, C>> nodes(); String getDcName(); LoadBasedBalancer.LoadAccumulator<ThriftDcBalancer<I, C>> getLoadAccumulator(); double getLoad(); int getUsedConnections(); int getOpenConnections(); @Override void close(); long getFailNodesCount(); String getStatus(); void reconfigure(ThriftBalancerConfig config);  }### Answer:
@Test(groups = "unit") public void doHealCheck() throws Exception { balancer.doHealthCheck(); verify(node2).doHealthCheck(); }