### Question:
AvroRpcResourceManagerClient implements ResourceManagerClient { @Override public ResourceNode getNodeById(String nodeId) throws MonitorException { try { return AvroTypeFactory.getResourceNode(proxy.getNodeById(nodeId)); } catch (AvroRemoteException e) { throw new MonitorException(e); } } AvroRpcResourceManagerClient(URL url); static void main(String[] args); @Override boolean isJobComplete(String jobId); @Override Job getJobInfo(String jobId); @Override boolean isAlive(); @Override int getJobQueueSize(); @Override int getJobQueueCapacity(); @Override boolean killJob(String jobId); @Override String getExecutionNode(String jobId); @Override String getNodeReport(); @Override String getExecReport(); @Override String submitJob(Job exec, JobInput in); @Override boolean submitJob(Job exec, JobInput in, URL hostUrl); @Override List getNodes(); @Override ResourceNode getNodeById(String nodeId); @Override URL getResMgrUrl(); @Override void setResMgrUrl(URL resMgrUrl); @Override void addQueue(String queueName); @Override void removeQueue(String queueName); @Override void addNode(ResourceNode node); @Override void removeNode(String nodeId); @Override void setNodeCapacity(String nodeId, int capacity); @Override void addNodeToQueue(String nodeId, String queueName); @Override void removeNodeFromQueue(String nodeId, String queueName); @Override List<String> getQueues(); @Override List<String> getNodesInQueue(String queueName); @Override List<String> getQueuesWithNode(String nodeId); @Override String getNodeLoad(String nodeId); @Override List getQueuedJobs();  }### Answer:
@Test public void testGetNodeById() throws MonitorException { List<ResourceNode> nodelist = rmc.getNodes(); ResourceNode node = rmc.getNodeById(nodelist.get(0).getNodeId()); assertThat(node, is(not(nullValue()))); assertThat(node.getNodeId(), equalTo("localhost")); }